Chinaunix

标题: 如何获取存储过程中insert语句中的结果集?? [打印本页]

作者: xamhd    时间: 2008-06-28 14:23
标题: 如何获取存储过程中insert语句中的结果集??
我在存储过程中有一个v_sql:='insert into a select * from b '语句,当使用
execute immediate v_sql ;
我用什么办法把插入的记录数赋值给一个变量呀?
请各位高手帮忙!!
作者: lovetjl    时间: 2008-06-28 20:14
v_str:='INSERT INTO rybo006mid1 ';
                v_str:=v_str||' SELECT SUBSTR(c.org_code,1,2),SUBSTR(c.org_code,3,2),a.unit_id,a.id_no, ';
                v_str:=v_str||' a.phone_no,prepay_fee,back_fee,b.login_no,a.op_time ';
                v_str:=v_str||' FROM dddd a ,'||v_table_name||' b , Login c ';
                v_str:=v_str||' WHERE a.id_no =b.id_no  AND a.login_accept=b.login_accept ';
                v_str:=v_str||' AND a.op_type=''8'' AND a.back_flag=''Y''  ';
                v_str:=v_str||' AND b.op_code=''1336'' AND b.login_no=c.login_no ';
                v_str:=v_str||' AND b.login_no=:bin_login_no ';               
                v_str:=v_str||' AND a.op_time >=:bin_begin_time ';
                v_str:=v_str||' AND a.op_time <=:bin_end_time  ';
        EXECUTE IMMEDIATE v_str USING
                rpad(in_login_no,6,' '),
                to_date(in_begin_time,'yyyymmdd hh24:mi:ss'),
                to_date(in_end_time,'yyyymmdd hh24:mi:ss');
作者: ILoveMK    时间: 2008-07-01 13:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: xamhd    时间: 2008-07-04 20:17
2楼的方法不对呀??

难道没有高人可以指点了吗?
作者: xamhd    时间: 2008-07-04 20:20
2楼的应该是把输入参数应用到insert语句中去,而不是获得结果集!
作者: xamhd    时间: 2008-07-15 16:44
期待高手解决
作者: luffy.deng    时间: 2008-07-15 16:55
cursor  c_sql  is
  select * from b
作者: yslaoniu    时间: 2008-07-17 22:25
原帖由 ILoveMK 于 2008-7-1 13:50 发表
select count(*) into v_count from b;


这个不行么
作者: luffy.deng    时间: 2008-07-18 09:02
原帖由 yslaoniu 于 2008-7-17 22:25 发表


这个不行么

结果集不是行数。
作者: jiangf    时间: 2008-07-18 15:38
比较这张表插入前后的行数差不就可以了
作者: gthboy    时间: 2008-07-18 20:05
原帖由 xamhd 于 2008-7-15 16:44 发表
期待高手解决



汗!一个简单的问题搞这么久

execute immediate 'insert into a select * from b';
v_cnt:=sql%rowcount;
dbms_output.put_line(v_cnt);

看看v_cnt的值就知道了

另外,3楼那个方法多简单啊,怎么不用呢?

是不是你这个动态sql的内容不是固定为insert into a select * from b而是经常变化的?
作者: gthboy    时间: 2008-07-18 20:08
结果集?行数?

标题里面说的是结果集,帖子内容里面说的是行数,楼祝你到底要的是什么啊,晕ing




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2