加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何将参数传递给sql脚本?

发布时间:2020-12-12 16:25:15 所属栏目:MsSql教程 来源:网络整理
导读:CREATE TABLE DMS_POP_WKLY_REFRESH_20100201 NOLOGGING PARALLEL ASSELECT 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.t
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脚本给出的名称)

如何在sql脚本中传递20100201的参数,我需要每次更改此日期格式.
如何通过传递date作为参数来调用此sql脚本并在unix中运行它.这样就可以在每次运行中修改脚本中的日期

请帮帮我.

解决方法

SQL * Plus使用& 1,& 2 …& n来访问参数.

假设您有以下脚本test.sql:

SET SERVEROUTPUT ON
SPOOL test.log
EXEC dbms_output.put_line('&1 &2');
SPOOL off

你可以这样调用这个脚本,例如:

$sqlplus login/pw @test Hello World!

编辑:

在UNIX脚本中,您通常会调用这样的SQL脚本:

sqlplus /nolog << EOF
connect user/password@db
@test.sql Hello World!
exit
EOF

这样你的登录名/密码就不会出现在另一个会话的ps上了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读