0

我有一个包含触发器的 sql 文件。我想使用 Ant 脚本执行这个文件:

<target name="exec-sql-proc_db2" depends="init">
  <property name="project.sql.dir" value="${project.metadata.dir}/sql" />
  <property name="triggerFile" value="${project.sql.dir}/triggers_db2.sql" />
  <echo message="${triggerFile}" />
  <sql rdbms="DB2" driver="com.ibm.db2.jcc.DB2Driver" 
       url="jdbc:db2://localhost:50000/project:currentSchema=mySchema;" 
       userid="root" password="root" 
       classpath="C:\projects\myProject\lib\db2jcc.jar" 
       src="${triggerFile}" 
       onerror="${sql.onerror}" 
       keepformat="true" delimiter="/" />
</target>

我构建成功,但未执行触发器!还有其他解决方案吗?

我的触发器是:

CREATE or REPLACE TRIGGER PRODUCT_HISTORY_AFTER_UPDATE
AFTER UPDATE ON PRODUCT 
REFERENCING NEW AS N 
FOR EACH ROW 
BEGIN 
   INSERT INTO productHistory ( id_h, id_product , name) values (id_h_seq.nextval, N.id_product , N.name ); 

    END 
/
4

1 回答 1

1
<sql rdbms="DB2" driver="com.ibm.db2.jcc.DB2Driver" 
       url="jdbc:db2://localhost:50000/project:currentSchema=mySchema;" 
       userid="root" password="root" 
       classpath="C:\projects\myProject\lib\db2jcc.jar" 
       src="${triggerFile}" 
       onerror="${sql.onerror}" 
        delimiter="/" >

SET SCHEMA mySchema
</sql>

我尝试了这部分代码,解决了我的问题

于 2013-08-05T10:19:24.797 回答