毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

db2存储过程执行两段SQL语句只执行了其中一句

更新时间:2012-9-28:  来源:毕业论文

整了个存储过程,想一次性跑2段SQL;结果只跑了前一句,后一句不执行了。

2段SQL单独跑是没问题的,是不是结束符搞得鬼,请大家帮我看看。

贴上代码:

  set v_sql_str = '
  export to "f:\\data\' || v_table || '_' || v_partition || '.ixf" of ixf select * from ' || v_schema || '.p' || v_table;
  call sysproc.admin_cmd(v_sql_str);

  set v_sql_str = '
  drop table ' || v_schema || '.p' || v_table;
  execute immediate v_sql_str;
示例:
创建用的脚本testTRI.sql:
create trigger testTRIGGER after update on test
referencing old as OR new as NR 
for each row 
mode DB2SQL
when (OR.id<>NR.id) 
BEGIN ATOMIC
update test set CODE = '3' WHERE ID = NR.ID;
END@
创建用的命令:db2 -td@ -f /workspace/test/testTRI.sql

问题更新下

过程体中放2句drop语句,这2句语句都被执行。这个应该可以排除结束符的问题
  set v_sql_str = '
  drop table a1';
  execute immediate v_sql_str;


  set v_sql_str = '
  drop table a2';
  execute immediate v_sql_str;

当放2句export时,只能执行第一句。不执行第二句,也不报错。
  set v_sql_str = '
  export to f:\a1.ixf of ixf select * from a1';
  call sysproc.admin_cmd(v_sql_str);

  set v_sql_str = '
  export to f:\a2.ixf of ixf select * from a2';
  call sysproc.admin_cmd(v_sql_str);

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。