ibm db2多个alter table语句

时间:2013-02-11 09:53:44

标签: foreign-keys db2

我正在尝试运行多个alter table语句来在我的数据库中添加外键

我正在使用RazorSQL

这是我的sql语句

            ALTER TABLE SPO999.AVTVRSTEPLACILAPOD
        ADD CONSTRAINT SQL100419145030510 FOREIGN KEY
            (AVP_VRSTEPLACILA)
        REFERENCES SPO999.VRSTEPLACILA
            (VP_ID_VP)
        ON DELETE NO ACTION
        --ON UPDATE NO ACTION
        ENFORCED
        ENABLE QUERY OPTIMIZATION;

    -- DDL Statements for foreign keys on Table SPO999.AVTVRSTEPLACILAVRPL

    ALTER TABLE SPO999.AVTVRSTEPLACILAVRPL
        ADD CONSTRAINT SQL100419145030630 FOREIGN KEY
            (AVV_VRSTEPLACILA)
        REFERENCES SPO999.VRSTEPLACILA
            (VP_ID_VP)
        ON DELETE NO ACTION
        --ON UPDATE NO ACTION
        ENFORCED
        ENABLE QUERY OPTIMIZATION;

如果我一次运行一个它可以工作,而如果尝试同时运行我得到一个SQL错误-104一个令牌,字符或子句无效或丢失。

我找不到问题/解决方案

有什么建议吗? 谢谢

1 个答案:

答案 0 :(得分:0)

我认为您可能无法在单个事务中引用同一列的这两个外键定义。

尝试在语句之间添加commit;

(您的SQL编辑器,根据其设置,可能会在您执行的每个语句块之后自动发送commit。这可以解释这两种情况之间的区别。)