アプリ版:「スタンプのみでお礼する」機能のリリースについて

DB2有識者の方々へ
マニュアルをみたのですが、alter tableでは駄目なのでしょうか?
すみません。よろしくお願い致します。

<質問1>
既存カラムへnot null制約を付与したいのですが、コマンドを教えてください

<質問2>
既存カラムについた、not null制約を削除したいのですが、コマンドを教えてください

よろしくお願い致します。

A 回答 (2件)

こんにちは。



>>既存カラムへnot null制約を付与したいのですが、コマンドを教えてください
「not null」はオプション項目なので、列の定義情報を便宜的に変更してから付与してください。
ALTER TABLE テーブル名
ALTER COLUMN カラム名
SET DATA TYPE そのまま
NOT NULL WITH DEFAULT デフォルト値

>>既存カラムについた、not null制約を削除したいのですが、コマンドを教えてください
多分ドロップできたはず・・・。
ALTER TABLE テーブル名
ALTER COLUMN カラム名
DROP NOT NULL

今手元にないので、自信ないです・・・。
(^^ゞ
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。

No2の方が回答してくれたとおり、DB2では
「NOT NULL」の付与・削除はALTER TABLEでは
できないようです。

どうもありがとうございました。

お礼日時:2005/06/10 22:22

ALTER TABLEでできることは以下の変更なので'not null'の付加・削除はできません。

tableの再作成を行いデータのRELOADが必要になります。

・ 1 つまたは複数の列を表に追加する
・ 主キーの追加、あるいはドロップを行う
・ 1 つまたは複数のユニーク制約、または参照制約の追加、あるいはドロップを行う
・ 1 つまたは複数のチェック制約定義の追加、あるいはドロップを行う
・ 表除去制約の追加、あるいはドロップを行う
・ VARCHAR 列の長さを変更する
・ 参照タイプ列を変更して、有効範囲を追加する
・ 生成される列の生成式を変更する
・ 1 つまたは複数のチェック制約属性、あるいは参照制約属性を変更する
・ 区分化キーの追加、あるいはドロップを行う
・ 表属性(データ・キャプチャー・オプション、pctfree、ロック・サイズ、追加モード
など) を変更する
・ 表を記録されていない初期状態(NOT LOGGED INITIALLY) に設定する
    • good
    • 0
この回答へのお礼

ALTER TABLEでは「NOT NULL」の付加・削除はできませんでした。
教えていただいたとおり、tableの再作成で対処しました。

大変助かりました。どうもありがとうございました。

お礼日時:2005/06/10 22:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!