0

以下のコードで私がやろうとしていることが可能かどうか、また可能であれば構文は何ですか? この問題は connect 呼び出しに関するもので、ユーザー名が正しく生成されないようです。コメントアウトされた接続呼び出しは、私が試した別のものです。

-- myscript.sql
-- @params:
-- 1 - Oracle database name eg. localhost
-- 2 - Site (site01, site02 site03)

connect systemname_%2_admin/mypassword@&1;
--connect "systemname_" || "%2" || "_admin"/mypassword@&1;      
begin

    --execution code here.

end;
/
disconnect;

注: これは、異なるユーザー名に対して異なることを行う自動化されたスクリプトになるため、呼び出しはこのようにする必要があります。

4

1 に答える 1

0

引数は、置換変数 1、2 などに格納されます。&1スクリプト内で,を使用してそれらにアクセスします&2(つまり、 は忘れてください%2。意味がありません)。

ここでの問題は、&2_adminsqlplus が名前付き置換変数のように見えるため、2 の後に2_adminドットを追加するだけでよいことです.。ドットは、置換変数の名前とそれに続く名前を区切る文字です。

接続は次のようになります。

connect systemname_&2._admin/mypassword@&1

(no の;場合: これは sql ステートメントではなく sqlplus コマンドです)。

于 2013-10-09T20:49:59.980 に答える