一个简单问题:如何利用存储过程执行表字段中的sql语句? 15
oracle中有一个表A,表A中的sql_text字段里存放的是一条sql语句。现在想利用存储过程,执行sql_text字段下的每一条sql语句,并把执行结果返回到另一个...
oracle中有一个表A,表A中的sql_text 字段里存放的是一条sql语句。现在想利用存储过程,执行sql_text字段下的每一条sql语句,并把执行结果返回到另一个表B的result字段中。请问如何实现呢?
展开
2个回答
展开全部
用游标就行了
declare
cursor cc is select sql_text from A; --声明游标
ccrec cc%rowtype; --声明游标变量
begin
open cc;
loop --循环取数
fetch cc into ccrec;
exit when cc%notfound; --取不到数退出
begin
EXECUTE IMMEDIATE 'insert into B(result) '|| ccrec.sql_text; --执行把查询结果插入B表语句
end;
end loop;
close cc;
end;
declare
cursor cc is select sql_text from A; --声明游标
ccrec cc%rowtype; --声明游标变量
begin
open cc;
loop --循环取数
fetch cc into ccrec;
exit when cc%notfound; --取不到数退出
begin
EXECUTE IMMEDIATE 'insert into B(result) '|| ccrec.sql_text; --执行把查询结果插入B表语句
end;
end loop;
close cc;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询