如何将参数传递给 t-sql 脚本? [英] How can I pass a parameter to a t-sql script?
本文介绍了如何将参数传递给 t-sql 脚本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
CREATE TABLE DMS_POP_WKLY_REFRESH_20100201 NOLOGGING PARALLEL AS
SELECT wk.*,bbc.distance_km ,NVL(bbc.tactical_broadband_offer,0) tactical_broadband_offer ,
sel.tactical_select_executive_flag,
sel.agent_name,
res.DMS_RESIGN_CAMPAIGN_CODE,
pclub.tactical_select_flag
FROM spineowner.pop_wkly_refresh_20100201 wk,
dms_bb_coverage_102009 bbc,
dms_select_executive_group sel,
DMS_RESIGN_CAMPAIGN_26052009 res,
DMS_PRIORITY_CLUB pclub
WHERE wk.mpn = bbc.mpn(+)
AND wk.mpn = sel.mpn (+)
AND wk.mpn = res.mpn (+)
AND wk.mpn = pclub.mpn (+)
vijay.sql(上面的sql脚本的名字)
vijay.sql ( name given to above sql script)
如何在 sql 脚本中传递 20100201 的参数?我每次都需要更改此日期格式.
How can I pass a parameter for 20100201 in side the sql script? I need to change every time this date format.
如何调用这个 sql 脚本并通过将日期作为参数在 unix 中运行它?所以每次运行时都应该修改脚本中的日期.
How can I call this sql script and run it in unix by passing date as parameter? So that date in the script should be modified in every run.
推荐答案
SQL*Plus 使用 &1, &2... &n 来访问参数.
SQL*Plus uses &1, &2... &n to access the parameters.
假设您有以下脚本 test.sql
:
SET SERVEROUTPUT ON
SPOOL test.log
EXEC dbms_output.put_line('&1 &2');
SPOOL off
你可以这样调用这个脚本,例如:
you could call this script like this for example:
$ sqlplus login/pw @test Hello World!
在 UNIX 脚本中,您通常会像这样调用 SQL 脚本:
In a UNIX script you would usually call a SQL script like this:
sqlplus /nolog << EOF
connect user/password@db
@test.sql Hello World!
exit
EOF
这样其他会话的ps
这篇关于如何将参数传递给 t-sql 脚本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文