2

DB2 での単純なドロップ カラム クエリに興味深い問題があります。私はいくつかの調査を行いましたが、構文は明らかに正しいようですが、それでもエラーがあります。クエリは次のとおりです。

alter table ed2.batch_job_instance drop column prova;

テーブルは存在し、列も(単純なnull可能なvarcharです)、まだこのエラーがあります:

キーワード列の不正使用。トークン クエリ マテリアライズド プライマリ 外部制約 制限 一意が期待されていました SQL コード: -199、SQL 状態: 42601

私は何を間違っていますか?前もって感謝します。

4

1 に答える 1

1

列 PROVE が何らかの制約に含まれていないか確認してください。ユニークかも?その場合、最初に制約を削除 (ドロップ) する必要があります。

更新: V10 のドキュメントによると: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_sql_altertable.htm DROP COLUMN というものはありません。

その他のソース: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.admin%2Fsrc%2Ftpc%2Fdb2z_altertables.htmその可能性に言及してください(ただし、追加の列が示されています)。

編集: 次のようなものを使用する必要があります:

EXPORT TO data.ixf OF IXF SELECT COL1, COL2 FROM TABLE1;
DROP TABLE TABLE1;
CREATE TABLE TABLE1 (COL1 ..., COL2 ...);
IMPORT FROM data.ixf OF IXF INSERT INTO TABLE1;

参照: http://bytes.com/topic/db2/answers/810167-can-i-drop-cloumn-table-db2-z-os

于 2014-03-31T13:47:52.027 に答える