替代变量与SQL*Plus环境设置_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2023 | 回复: 0   主题: 替代变量与SQL*Plus环境设置        下一篇 
johnnyfox
注册用户
等级:新兵
经验:41
发帖:90
精华:0
注册:2011-12-12
状态:离线
发送短消息息给johnnyfox 加好友    发送短消息息给johnnyfox 发消息
发表于: IP:您无权察看 2015-7-22 10:11:02 | [全部帖] [楼主帖] 楼主

1.SQLPL/

SQL代码终止符

SQL代码以";"

来表示代码的终止

PL/SQL代码以"."

来表示代码的终止,以"/"表示代码的执行

scott@ORCL>select*from emp where empno=7788;
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7788 SCOTT      ANALYST         7566 19-APR-87       3100                   20
scott@ORCL>declare v_ename varchar2(10);
2  begin
3  select ename into v_ename from emp where empno=7788;
4  dbms_output.put_line('Employee Name: ' v_ename);
5  exception
6      when no_data_found then
7      dbms_output.put_line('There is no employee');
8  end;
9  .
scott@ORCL>/
Employee Name: SCOTT
PL/SQL procedure successfully completed.


2.替代变量

&变量名、&&

变量名

执行时,如果&

变量名,没有赋值的话,会提示输入变量值

scott@ORCL>select*from emp where empno=&no;
Enter valueforno: 7788
old   1:select*from emp where empno=&no
new   1:select*from emp where empno=7788
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7788 SCOTT      ANALYST         7566 19-APR-87       3100                   20
scott@ORCL>save/u01/bk/scripts/select_empno.sql
Created file/u01/bk/scripts/select_empno.sql
scott@ORCL> @/u01/bk/scripts/select_empno.sql
Enter valueforno: 7788
old   1:select*from emp where empno=&no
new   1:select*from emp where empno=7788
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7788 SCOTT      ANALYST         7566 19-APR-87       3100                   20


set verify 的使用

scott@ORCL>set verify off--使用set verify off

来关闭替代变量使用时的提示,即执行SQL语句前不显示使用的变量值
scott@ORCL> @/u01/bk/scripts/select_empno.sql
Enter valueforno: 7788
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7788 SCOTT      ANALYST         7566 19-APR-87       3100                   20


对于字符型和日期型数据,替代变量要加单引号(' ')

,将变量括起来

select*from emp where job='&job'


&&对输入变量的再次引用,同时会保存变量的值

scott@ORCL>set serveroutput on;
scott@ORCL>begin
2  dbms_output.put_line('The num is ' &&num);--使用双&&

保存了变量num的值
3  dbms_output.put_line('The second num is ' &num);--

因此第二次输出变量num

也是
4  end;
5  /
Enter valuefor num: 10
The num is 10
The second num is 10


替代变量的设置

set define character--修改缺省的替代变量符号为其他符号,但不能使用数字和空格
set define on--
启用替代变量
set define off--
关闭替代变量
scott@ORCL>set define off
scott@ORCL> @/u01/bk/scripts/select_empno.sql
SP2-0552: Bind variable "NO" not declared.


3.  DEFINE  定义变量

define job=SALESMAN
select*from emp where job='&job'


    DEFINE 查看变量

define
define varname


    ACCEPT  定义替代变量

格式:accept 

变量名[prompt 正文][HIDE]

4.sql plus 环境设置

set设置环境变量

set linesize 200

    show 显示环境变量

show all

show linesize


    sql plus 环境配置文件

配置文件:

$ORACLE_HOME/sqlplus/admin/glogin.sql


安装sql plus

时创建的,卸载sql plus时会删除

用户配置文件:

文件名为login.

sql,位置可任意放置,启动sql plus 时所在目录下有

login.sql

就会按设置进行环境配置,否则其它目录下的login.

sql不理采。

为了使用的方便一般会放到oracle

用户的家目录

set echo    @ start 运行脚本时,是否显示脚本内容
set echo on/off
scott@ORCL>set echo on;
scott@ORCL> @/u01/bk/scripts/select_empno.sql
scott@ORCL>select*from emp where empno=&no
2  /
Enter valueforno: 7788
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7788 SCOTT      ANALYST         7566 19-APR-87       3100                   20
scott@ORCL>set echo off;


set feedback    设置脚注

查询时返回多少行,会有提示,feedback

控制提示显示

可以是ONOFF

、n自然数,默认为

set feedback on/off
set feedback 10


set heading {on/off}    控制是否显示列名

set linesize    设置每行字符数

set autocommit {on/off}设置是否自动提交

set long {80 n}   

设置查看长字符字段时的显示宽度

column设置列格式

col ename format a15


通用的SQL*

Plus环境变量设置

源自Tom

大师:Expert Oracle 

Database Architecture: 9i and 10g Programming Techniques and Solutions   

define _editor=vi
set serveroutput onsize 1000000
set trimspool on
set long 5000
set linesize 180
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
selectlower(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


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论