我写了个存储过程
create or replace procedure app_test( sql1 varchar2
)
as
v_sql varchar2(500);
begin
v_sql:=sql1;
execute immediate v_sql;
commit;
end app_test;
主要做插入,删除,更新 用的
如果我想返回 插入了多少行,或者删除了多少行该怎么改
在网上找了两天了很多人都说用@@ROWCOUNT 都没说怎么用
我看书上好像也没有用@ 的 以前没接触过,现在才开始学 ,也不知道我写的这个好不好 如果出现异常怎么把异常返回到程序里(java dao调用存储过程)
如果是批量插入有讲究吗 那个大哥大姐能给个例子吗
------解决方案--------------------
LZ已经知道关键了,很简单啊,就顶一个变量去放SQL%ROWCOUNT就好了
- SQL code
create or replace procedure app_test( sql1 IN VARCHAR2 ) as v_sql varchar2(500); nber NUMBER;begin v_sql:=sql1; execute immediate v_sql; nber := SQL%ROWCOUNT; commit; dbms_output.put_line (nber);end app_test;
------解决方案--------------------
create or replace procedure app_test( sql1 IN VARCHAR2,nber out NUMBER
)
as
v_sql varchar2(500);
begin
v_sql:=sql1;
execute immediate v_sql;
nber := SQL%ROWCOUNT;
commit;
dbms_output.put_line (nber);
end app_test;
调用时,nber为存储过程的参数。