私はsqlplusセッションから 'sysdba'として実行するpl/sqlスクリプトを持っています。sqlplusセッションのpl/sqlコードブロックでユーザーを切り替える
スクリプトの実行中に別のユーザーに切り替えたいので、そのユーザーのdbリンク作成を行うことができます。これが行われた後、スクリプトは「sysdba」に戻っていく必要があります。
私は、以下を使用してみました:
BEGIN
<do some stuff as sysdba>
execute immediate 'connect ' || in_owner || '/' || v_password;
<create db link for user>
<switch back to sysdba>
END;
「接続」が「即時実行」で実行できないコマンドであるようだが。
どのようにすればよいでしょうか?
ありがとうございます!
私の元の質問が十分にはっきりしていないことがわかります。ユーザーの下のアクションは、複数のユーザスルーループことができるようになります。 は をBEGIN <バックに切り替える エンドループ <ユーザーxとのリンクを作成する>ユーザー スルー ループ sysdbaなど、いくつかの機能を追加> END; –
darreljnzが正しいです、最も簡単な方法は、スクリプトを動的に生成することです。 CREATE DATABASE LINKコマンドが別のスキーマでデータベースリンクを作成することをサポートしていればいいと思いますが、最初の考えはありましたが、代わりに1つのパブリックデータベースリンクを持つことは可能でしょうか?私は、各ユーザが自分のユーザ名とパスワードを使って別のデータベースに接続したいと思っています。 –