sqlplus执行mysql_SQL*Plus 执行脚本时传递参数(@script_name var1,var2)

本文介绍了如何在SQLPlus环境下向SQL脚本传递参数,通过示例展示了如何在shell提示符下使用sqlplus执行带参数的SQL脚本,包括如何处理包含空格的参数,并提供了相关帮助信息和实际操作步骤。
摘要由CSDN通过智能技术生成

在使用sqlplus执行sql脚本时,经常碰到向脚本传递参数的情形。类似于shell脚本的参数传递,我们同样可以向sql脚本传递参数,其方

在使用sqlplus执行sql脚本时,经常碰到向脚本传递参数的情形。类似于shell脚本的参数传递,我们同样可以向sql脚本传递参数,其方法是脚本后面直接跟多个连续的参数并以空格分开。本文描述该内容并给出示例。

1、SQLPlus 的帮助信息

下面的帮助信息是关于sqlplus调用带参脚本的说明

sqlplus -H

is: @|[.] [...]

Runs the specified SQL*Plus script from a web server (URL) or the

local file system (filename.ext) with specified parameters that

will be assigned to substitution variables in the script.

2、shell 提示符下sqlplus调用带参脚本

SQL> select * from v$version where rownum<2;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

SQL> insert into emp(empno,ename,job) select 8888,'Bob Cheng','DBA' from dual;

SQL> commit;

[oracle@linux1 ~]$ more test.sql

set linesize 160

select empno,ename,job from &1 where upper(ename)=upper('&2');

exit;

[oracle@linux1 ~]$ sqlplus scott/tiger@rac11g @test.sql emp scott

old 1: select empno,ename,job from &1 where upper(ename)=upper('&2')

new 1: select empno,ename,job from emp where upper(ename)=upper('scott')

EMPNO ENAME JOB

---------- ---------- ---------

7788 SCOTT ANALYST

--注意,,对于含有空格的调用需要使用单引号或双引号,如下示例

[oracle@linux1 ~]$ sqlplus scott/tiger @test.sql emp 'bob cheng'

old 1: select empno,ename,job from &1 where upper(ename)=upper('&2')

new 1: select empno,ename,job from emp where upper(ename)=upper('bob cheng')

EMPNO ENAME JOB

---------- ---------- ---------

8888 Bob Cheng DBA

[oracle@linux1 ~]$ sqlplus scott/tiger @test.sql emp "bob cheng"

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值