[英]MAXIMUM CURSORS EXCEEDING WITH DATABASE LINK IN ORACLE
I have a stored procedure as follows, When I am executing ths procedure, every time 1 cursor increasing in remote server. 我有一个存储过程,如下所示,当我执行该过程时,每在远程服务器中增加1个游标。 How to Solve this.
如何解决这个问题。
create or replace function transactionaldatarecovery
(i_tablename in varchar2)
return varchar2
as
v_Num Number(3):=0;
v_SQLStmt Varchar2(2000);
ret_status Varchar2(100);
begin
v_sqlstmt := 'insert into '||i_tablename||
' select * from '||i_tablename||'@RECY_DBLINK a '||
' where not exists( select 1 '||
' from '||i_tablename||' b'||
' where B.sno = A.sno' ;
Execute immediate v_SQLstmt;
return 'Success';
end transactionaldatarecovery;
Do you commit after running the function? 运行该功能后是否提交? It should free opened cursor on remote DB.
它应该释放远程数据库上打开的游标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.