SQL Developer with DB2中的多个SQL语句

SQL Developer with DB2中的多个SQL语句,db2,oracle-sqldeveloper,Db2,Oracle Sqldeveloper,我正在使用Oracle SQL Developer v4.1.2.20和IBM DB2 v10.5数据库 为什么我可以选择并运行多个这样的语句: drop trigger T_MyTab1; drop trigger T_MyTab2; 但如果我选择这两条语句,它将失败: create trigger T_MyTab1 after insert on MyTab1 referencing new as n for each row mode db2sql insert into MyAudit

我正在使用Oracle SQL Developer v4.1.2.20和IBM DB2 v10.5数据库

为什么我可以选择并运行多个这样的语句:

drop trigger T_MyTab1;
drop trigger T_MyTab2;
但如果我选择这两条语句,它将失败:

create trigger T_MyTab1 after insert on MyTab1 referencing new as n for each row mode db2sql insert into MyAuditTab1 values (n.col1); 
create trigger T_MyTab2 after insert on MyTab2 referencing new as n for each row mode db2sql insert into MyAuditTab2 values (n.col1);
错误是:

DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=create trigger T_MyTab1 after inse;BEGIN-OF-STATEMENT;<space>, DRIVER=3.69.24
db2sql错误:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=create触发器T_MyTab1在inse之后;语句开头;,驾驶员=3.69.24

同样的SQL在SquirreSQL中运行良好,因此我认为这与SQL Developer中的行分隔符有关。

对于Oracle语句,由于PL/SQL代码,您需要在每个create trigger语句之后的新行上放置一个
/
分隔符。这样做对DB2有帮助吗?此外,您是否将所选代码作为语句(control enter)或脚本(F5)运行;这里可能不重要,但可能值得检查行为是否相同。我按照您的建议在每个create trigger语句后的新行中添加了“/”,第一个create语句运行良好,没有错误。但是第二个create语句似乎被完全忽略了。我试着用as作为语句和脚本,结果是一样的。