0
10個の関数があり、各関数はdblinksを使用して表を戻します。ORA-02080:データベース・リンクが使用されています
構造は、すべての機能は、この唯一のようなものです
function declare
.
.
.
begin
.
if
for i in (select * from [email protected])
loop
i.
i.
i.
--return tble
pipe row(obj);
end loop;
end if;
--close dblink statement..
execute immediate 'ALTER SESSION CLOSE DATABASE LINK TEST_LINK';
end;
のようなものです。
私はロールバックを試してみましたが、DBリンクを閉じる前に内部コミットが、それはとしてエラーを返します:
ORA-14552:
を、DDLを実行し、クエリ内のコミットやロールバックまたはDML
することはできません私はdblinkを閉じたいと思う。私は問題が適切に閉じていなかったカーソルに関連していると思います。これらのタイプの匿名明示カーソルを閉じるにはどうすればよいですか?
ようこそスタックオーバーフロー。質問の書き方については、[stackoverflow.com/help/how-to-ask](http://stackoverflow.com/help/how-to-ask)を参照してください。まずは:1.コードをフォーマットしてください。 2.あなたの質問にもっとコードを追加して、私たちがそれをよりよく理解し、将来の読者がこの質問の恩恵を受けるのを助けてください。 3.あなたを助けるかもしれない他の質問を探してください。 4.テキストを書式設定し、最小限の作業例を与えてください – abarisone
いくつかの誤植を修正してあなたの質問を少し書き直しましたが、コードセクションを改善することをお勧めします – abarisone