2017-01-10 15 views
0

私はユニークなキーワードを持つDDSを持っています。私はそれを取り除く必要があります、私はソースを変更せずに取り除くことができる方法があります。 オブジェクトにSQLを使用していて、Unique Keyを削除できますか?AS400 - DDS固有のキーワード

私はALTERテーブルを試しましたが、持っていないConstraint名を求めています。私には、UNIQUEという制約を定義するように見えますが、diffはソースにUNIQUEというキーワードを与えます。

私はユニークなキーワードをコメントし、ファイルを促進すると考えています。私はそれを行い、DDSのコンパイル後にプログラムを実行し、プログラムの再コンパイルなしで実行しました。

答えて

-1

SQLを使用して一意キーを削除します。制約名は、DDSソースからUNIQUEキーワードを削除

以下
select * from SYSCST    
where CONSTRAINT_SCHEMA = 'schema' 
and table_name = 'table'; 
+0

が見つかりません..... – MAS400

+0

@ MAS400ここで私がやったことは、テーブルに列を追加しました。その後、一意の列からデータをコピーする更新クエリを実行しました。一意の列を削除しました。しかし、私はあなたが古い名前でプロセスを繰り返さなければならない列名を保持したいと思います。個人的には、これはDDSを再プロモートするのではなく、多くの努力のように感じています – uSeruSher

+0

Thanks Vijay ....私の考えはDDS UNIQUEキーワードを持ってPFをコンパイルすると、この制約はSystemテーブルにエントリを作成しませんファイルに追加されて、参照することができます.....ちょうど私がDDS再プロモーションを避けることができる場合、他の方法を見つけることを試みる... – MAS400

1

を使用見つけるには、ファイル形式のIDを変更しませんので、再コンパイルするすべてのプログラムを必要としません。ただし、調整が必要なレコードが一意であることを期待するプログラムロジックを使用している場合があります。

CHGPF FILE(MYDATALIB/MYFILE) SRCFILE(MYSRCLIB/QDDSSRC)を使用して、システムにファイルを再作成させることもできます。既存の論理は自動的に処理されます。基本的にDDS相当のALTER TABLE