当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-05-17

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

在使用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 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"     


    
 
 

您可能感兴趣的文章:

  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • SQL Server统计SQL语句执行时间的脚本
  • Shell脚本调用Sql脚本并向其中传递变量
  • PHP的SQL封装脚本 TbsSQL
  • 求助:linux脚本语言写SQL语句
  • 查询SQL Server中所有数据库的数据文件位置的sql脚本
  • mysql下怎样运行脚本以运行niuzi.sql为例
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • shell 执行oracle sql脚本的问题
  • unix/linux知识 iis7站长之家
  • 用来还原数据库的sql脚本
  • 简单的SQL Server备份脚本代码
  • oracle使用sql脚本生成csv文件案例学习
  • Sql Server 创建数据库脚本Create DATABASE
  • linux下如何将sql语句写为脚本
  • 解决在SQL脚本中的注释引起的奇怪问题
  • sql分类汇总及Select的自增长脚本
  • Shell脚本读文件运行SQL,然后写出结果。
  • 检验SQL Server备份的脚本
  • 一段脚本实现自动备份并保存最近几天的SQL数据库
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 急!如何从一个shell文件中传递一个参数到sql文件中,不能用存储过程
  • SQL实现递归及存储过程中In()参数传递解决方案详解
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,