AS400 - DDS唯一关键字

时间:2017-01-10 19:13:39

标签: db2

我有一个带有Unique关键字的DDS。我需要删除那是我可以摆脱任何方式而不改变来源。 无论如何,在对象上使用SQL并且可以删除Unique Key ??

我已经尝试了ALTER表,但是它询问了我没有的Constraint名称。对我而言,定义UNIQUE约束是不同的,然后在Source中提供UNIQUE关键字。

我正在考虑评论Unique关键字并重新提升该文件。我这样做了,在编译DDS之后,只需运行程序并执行它而无需重新编译程序。

2 个答案:

答案 0 :(得分:1)

从DDS源中删除UNIQUE关键字不会更改文件格式ID,因此不需要重新编译任何程序。但是,您可能有程序逻辑,希望记录是唯一的,需要调整。

您还可以使用CHGPF FILE(MYDATALIB/MYFILE) SRCFILE(MYSRCLIB/QDDSSRC)让系统重新创建文件;现有逻辑自动处理。基本上DDS相当于ALTER TABLE

答案 1 :(得分:-1)

使用SQL删除唯一键。要查找约束名称,请使用以下

select * from SYSCST               
where CONSTRAINT_SCHEMA = 'schema'
and table_name = 'table';