PLSQL 命令行参数

发布于 2024-10-25 05:09:40 字数 521 浏览 2 评论 0原文

我有一个testing.sql 程序。第一个列表行我使用 define run_date = '&1' 接收命令行参数,并在光标中使用它。

参数我希望它作为字符串 '24/02/2011' 并且我在 sql 查询和游标中使用它进行比较。

Select * 
  from bill_file b 
 where to_char(b.initial_process_date_time,'DD/MM/YYYY')=&run_date;

当我从 调用脚本时,它给出了错误。不确定如何接收字符串参数。

这是我尝试的方法:

SQL> @testing.sql 24/02/2011

I am having a testing.sql program. First list line I receive the command line argument with define run_date = '&1' and use it in cursor.

Argument I want it as string '24/02/2011' and I use it in comparison in sql queries and cursors.

Select * 
  from bill_file b 
 where to_char(b.initial_process_date_time,'DD/MM/YYYY')=&run_date;

When I call the script from it's giving errors. Not sure how I can receive string arguments.

Here is how I tried:

SQL> @testing.sql 24/02/2011

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

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

发布评论

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

评论(3

素衣风尘叹 2024-11-01 05:09:41

非常感谢您提供的信息。我将 run_date 用单引号括起来,它起作用了。
Select * from bill_file b where to_char(b.initial_process_date_time,'DD/MM/YYYY')='&run_date';

Thanks a lot for the info. I enclosed the run_date in single quotes and it worked.
Select * from bill_file b where to_char(b.initial_process_date_time,'DD/MM/YYYY')='&run_date';

东风软 2024-11-01 05:09:41

您忘记了引号 @testing.sql "24/02/2011"

You forgot quotes @testing.sql "24/02/2011"

我的奇迹 2024-11-01 05:09:41

如果没有您所做的全部事情,我们无法说。

它的工作原理如下(调用中不带引号,但在 to_date 中):

文件c.sql

define run_date='&1';
select to_date('&run_date', 'DD/MM/YYYY') from dual;

然后调用:

SQL> @c.sql 24/02/2011
old   1: select to_date('&run_date', 'DD/MM/YYYY') from dual
new   1: select to_date('24/02/2011', 'DD/MM/YYYY') from dual
24/02/2011

Without the entirety of what you did, we can't say.

Here is how it simply works (without quotes in the call, but in the to_date):

file c.sql

define run_date='&1';
select to_date('&run_date', 'DD/MM/YYYY') from dual;

Then the call:

SQL> @c.sql 24/02/2011
old   1: select to_date('&run_date', 'DD/MM/YYYY') from dual
new   1: select to_date('24/02/2011', 'DD/MM/YYYY') from dual
24/02/2011
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文