2

次のスクリプトを試して、列に not null 制約を追加しました。

ALTER TABLE MYDB.RULES ALTER TYPEID SET NOT NULL;
ALTER TABLE MYDB.RULES ALTER COLUMN TYPEID SET NOT NULL;

実行すると、次のエラーも表示されます。

 Reason code 10. [SQL State=57014, DB Errorcode=-952] 

DB2 iSeries でこれを行うことは可能ですか?

4

5 に答える 5

1
ALTER TABLE MYDB.RULES ALTER TYPEID SET NOT NULL;

正しい。

声明はどのように発表していますか?

報告されたエラー コード、SQL State=57014 - Processing was canceled as requested.

どのようにステートメントを実行しても、CPA32B2 - Change of file RULES may cause data to be lost. (C I)照会メッセージは表示されないと思います。したがって、 で自動的に回答されますC-Cancel

于 2016-11-08T13:37:40.257 に答える
0

制約が必要な場合は、制約を追加します。まず、テーブル内のすべての行が制約を満たしていることを確認してから、制約を追加します。

update mylib/myfile set myfield = ' ' where myfield is null;
ALTER TABLE mylib/myfile ADD CONSTRAINT myfieldisnull CHECK (myfield is not null );
于 2016-11-08T16:08:28.450 に答える