0

有谁知道我在下面的代码中尝试做的事情是否可行,如果可以,语法是什么?这个问题与连接调用有关,用户名似乎没有正确生成。注释掉的连接调用是我尝试过的另一个。

-- 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_admin,所以你只需要.在 2 之后添加一个点。点是将替换变量的名称与后面的名称分开的字符。

您的连接将如下所示:

connect systemname_&2._admin/mypassword@&1

(没有;:这是一个 sqlplus 命令而不是一个 sql 语句)。

于 2013-10-09T20:49:59.980 回答