【Expert Oracle Database Architecture 2nd】——1

================================================================================

对于sqlplus中的环境变量,可以保存到一个文件中,该文件在启动sqlplus时自动由sqlplus调用,从而实现环境变量的自动设置,具体设置方法如下

================================================================================

* 设置系统环境变量 SQLPATH

* 创建一个文本文件命名为 login.sql 放置在SQLPATH指定的目录下

* login.sql文件中可以设定符合sqlplus要求的环境变量

login.sql文件内容可能如下

define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0, length(global_name),dot-1) ) global_name 
from (select global_name, instr(global_name,'.') dot from global_name );
set sqlprompt '&gname> '
set termout on


================================================================================

在sqlplus中调用sql文件时,可以通过命令行参数进行传参操作

================================================================================

 * vi test1.sql #编辑一个简单的测试sql文件

set echo off
set verify on
define S="&1"

select '&S' from dual;

set echo on


* 在sqlplus中调用test1.sql并进行传参操作

levin@LEVIN1> @test1 abc
levin@LEVIN1> set echo off
old   1: select '&S' from dual
new   1: select 'abc' from dual

'AB
---
abc


================================================================================

在sqlplus中定义系统环境变量。主要用于将DB中的值传出到操作系统中

================================================================================

 语法

* define v_name=value

* column field_alais_name new_val v_name

* vi test2.sql

set verify on
column f1 new_val V

select banner f1 from v$version;

define S="&V"

set verify off

* 在sqlplus中调用test1.sql

levin@LEVIN1> @test2
levin@LEVIN1> set verify on
levin@LEVIN1> column f1 new_val V
levin@LEVIN1>
levin@LEVIN1> select banner f1 from v$version;

F1
--------------------------------------------------------------------------------
Oracle Database 11g Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

5 rows selected.

levin@LEVIN1>
levin@LEVIN1> define S="&V"
levin@LEVIN1>
levin@LEVIN1> set verify off
levin@LEVIN1> !echo &V
NLSRTL Version 11.2.0.1.0 - Production

levin@LEVIN1> !echo &S
NLSRTL Version 11.2.0.1.0 - Production




 

---END

发布了29 篇原创文章 · 获赞 0 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/levin_li/article/details/7451472
今日推荐