sqlplus的变量设置

一、自定义变量

使用DEFINE命令定义变量
定义一个变量
sql> define deptname = sales
   清空一个变量的定义
sql> undefine deptname
    使用自己的定义的变量
sql> select *
     from   dept
     where  dname = upper('&DEPTNAME');
注意:一个变量将保持在被定义的状态,直到:
使用 UNDEFINE 命令将它清除
离开 SQL*Plus
可以用DEFINE 命令验证所做的改变.
如果要定义在每一次会话中都要用到的变量, 改变login.sql 文件,这样在每一次启动时,变量就创建了.

二、输入变量


&变量替换
SELECT empno, ename, sal, deptno
      FROM emp
      WHERE empno = &employee_num;
Enter value for employee_num: 7369

    EMPNO ENAME            SAL    DEPTNO
--------- ---------- --------- ---------
     7369 SMITH            800        20

显示用某个具体值替换变量名之前和之后的命令文本

SQL> SELECT empno, ename, sal, deptno
     FROM emp
     WHERE empno = &employee_num;
Enter value for employee_num: 7369
old   3: WHERE empno = &employee_num
new   3: WHERE empno = 7369

使用单引号标志替换变量中的日期和字串值
SQL> SELECT ename, deptno, sal*12
     FROM   emp
     WHERE  job='&job_title';
Enter value for job_title: ANALYST

ENAME         DEPTNO    SAL*12
---------- --------- ---------
SCOTT             20     36000
FORD              20     36000


运行时指定列名、表达式、文本


SQL> SELECT  empno, ename, job, &column_name
     FROM  emp
     WHERE  &condition
     ORDER BY  &order_column;
Enter value for column_name: sal
Enter value for condition: sal>=3000
Enter value for order_column: ename

    EMPNO ENAME      JOB             SAL
--------- ---------- --------- ---------
     7902 FORD       ANALYST        3000
     7839 KING       PRESIDENT      5000
     7788 SCOTT      ANALYST        3000

使用带有两个&的变量可以使得该变量可以重复使用,而不必在每次使用时提醒用户输入

SQL> SELECT  empno, ename, job, &&column_name
     FROM  emp
     ORDER BY  &column_name;
Enter value for column_name: deptno
    EMPNO ENAME      JOB          DEPTNO
--------- ---------- --------- ---------
     7839 KING       PRESIDENT        10
     7782 CLARK      MANAGER          10
     7934 MILLER     CLERK            10

当接收用户输入时,创建可定制的用户提示
ACCEPT  dept PROMPT 'Provide the department name: '
SELECT  *
FROM    dept
WHERE   dname = UPPER('&dept')
/
Provide the department name: Sales

   DEPTNO DNAME          LOC
--------- -------------- -------------
       30 SALES          CHICAGO


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20844861/viewspace-591984/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20844861/viewspace-591984/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值