问题,执行一段代码反回一个字符串,这个串中就是要执行我多条SQL语句。怎样让它在ORACLE中通过呢。想来想去想到了动态SQL,EXECUTE IMMEDIATE 这是一个解析和执行标准SQL语句的语法。只要在这条字符串中格式化一下我们要执行的语句就可以了,比如这条要执行的多条SQL的字符串为:
delete tableA where Aid=1;update tableB where Bid=2;insert into tableC values(id,3,4);
像这样的SQL语句想一起执行是不可以的,只要加点格式化就OK了,
要这样:BEGIN EXECUTE IMMEDIATE 'delete tableA where Aid=1';EXECUTE IMMEDIATE 'update tableB where Bid=2';EXECUTE IMMEDIATE 'insert into tableC values(id,3,4)';END;
注意,一定要写好格式,比如END后的分号。这样就可以在ORACLE中执行这个字符串了。
oracle事务处理多条sql语句
Oracle动态SQL执行多条语句
最新推荐文章于 2022-05-21 15:53:16 发布
本文介绍如何在Oracle数据库中使用动态SQL执行多条SQL语句的方法。通过将多条SQL语句包装在BEGIN-END块内,并利用EXECUTE IMMEDIATE语句逐一执行,可以实现在一个字符串中定义并执行多条SQL的目的。
369

被折叠的 条评论
为什么被折叠?



