从unix传递参数到pl sql

发布于 2024-09-02 06:29:26 字数 439 浏览 3 评论 0原文

我有一个愚蠢的问题。 我从 ksh 连接到 sql plus 来执行一些查询。 我想将 2 个参数从 unix 传递到 pl sql。 我找到了一些东西,但它不起作用。

UNIX:

sqlplus -L $ORA_CONNECT @"$FIC_REQ" $1 $2

PLSQL:

   DECLARE

     param1 := $1;
     param2 := $2;
BEGIN

 SELECT * from MYTABLE where field1=param1 and field2=param2;

END

知道该怎么做吗?


事实上,我明白了。

我必须在 plsql 中使用双美元,例如

param1:=$$1 参数2:=$$2

I have a dumb problem.
From a ksh I'm connecting to sql plus to execute some query.
I want to pass 2 parameters from unix to pl sql.
I found some stuff but it does not works.

UNIX:

sqlplus -L $ORA_CONNECT @"$FIC_REQ" $1 $2

PLSQL:

   DECLARE

     param1 := $1;
     param2 := $2;
BEGIN

 SELECT * from MYTABLE where field1=param1 and field2=param2;

END

Any idea how to do it ?


Actually, I got it.

I must use a double dollar in plsql, like

param1:=$$1
param2:=$$2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

靖瑶 2024-09-09 06:29:26

我认为您需要使用 %1 和 %2,而不是 $(美元)符号。

I think you need to use %1 and %2, not the $ (dollar) symbol.

何以畏孤独 2024-09-09 06:29:26
sqlplus -L $ORA_CONNECT @"$FIC_REQ" param1 param2

BEGIN

SELECT * from MYTABLE where field1=&1 and field2=&2;
sqlplus -L $ORA_CONNECT @"$FIC_REQ" param1 param2

BEGIN

SELECT * from MYTABLE where field1=&1 and field2=&2;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文