涉及到的知识要点

a、带有一个&的替换变量的用法
b、带有两个&的替换变量用法
c、define命令用法
d、accept命令用法
e、定制SQL*Plus环境
f、在glogin.sql文件中保存定制结果
g、sqlplus编辑命令

a、带有一个&的替换变量的用法
1)、使用带有一个&号的变量值来提示用户输入一个值。
eg、
SQL> SELECT     empno, ename, sal, deptno FROM  emp WHERE empno = &empno;
输入 empno 的值:  7369
原值    1: SELECT empno, ename, sal, deptno FROM  emp WHERE empno = &empno
新值    1: SELECT empno, ename, sal, deptno FROM  emp WHERE empno = 7369

EMPNO ENAME             SAL     DEPTNO
———- ———- ———- ———-
      7369 SMITH            8888         20

2)、替换变量中的字串和日期值
使用单引号标志替换变量中的日期和字串值。
eg、
SQL> SELECT ename, deptno, sal*12 FROM emp WHERE job='&job';
输入 job 的值:  ANALYST
原值    1: SELECT ename, deptno, sal*12 FROM emp WHERE job='&job'
新值    1: SELECT ename, deptno, sal*12 FROM emp WHERE job='ANALYST'

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

3)、运行时指定列名、表达式、文本
SELECT empno, ename, job, &column_name
FROM emp
WHERE &condition
ORDER BY &order_column;
输入 column_name 的值:  sal
原值    1: SELECT empno, ename, job, &column_name
新值    1: SELECT empno, ename, job, sal
输入 condition 的值:  sal>=3000
原值    3: WHERE &condition
新值    3: WHERE sal>=3000
输入 order_column 的值:  ename
原值    4: ORDER BY &order_column
新值    4: ORDER BY ename

EMPNO ENAME      JOB              SAL
———- ———- ——— ———-
      7902 FORD       ANALYST         3000
      7839 KING       PRESIDENT       5000
      7788 SCOTT      ANALYST         8888
      7369 SMITH      CLERK           8888

b、带有两个&的替换变量用法
使用带有两个&的变量可以使得该变量可以重复使用,而不必在每次使用时提醒用户输入。
SQL> SELECT empno, ename, job, &&column_name FROM emp ORDER BY &column_name;
输入 column_name 的值:  deptno
原值    1: SELECT empno, ename, job, &&column_name FROM emp ORDER BY &column_name
新值    1: SELECT empno, ename, job, deptno FROM emp ORDER BY deptno

EMPNO ENAME      JOB           DEPTNO
———- ———- ——— ———-
      7782 CLARK      MANAGER           10
      7839 KING       PRESIDENT         10
      7934 MILLER     CLERK             10

c、define命令用法
创建CHAR类型的用户变量,当定义一个包含空格的变量时,要用单引号将该变量括起来。
eg、
SQL> define deptname = sales
SQL> define deptname; –查看该变量
DEFINE DEPTNAME = "sales" (CHAR)
SQL> SELECT * FROM dept WHERE dname=UPPER('&deptname');
原值    1: SELECT * FROM dept WHERE dname=UPPER('&deptname')
新值    1: SELECT * FROM dept WHERE dname=UPPER('sales')

DEPTNO DNAME          LOC
———- ————– ————-
        30 SALES          CHICAGO

说明:一个变量将保持在被定义的状态,直到使用undefine命令将它清除或离开sql*plus。

d、accept命令用法
接收用户输入时,创建可定制的用户提示。
eg、
–提示你输入一个数值给dept,dept是个变量,可用define命令查看该变量
SQL> accept dept prompt 'Provide the department name: '
Provide the department name: Sales
SQL> define dept; –查看该变量
DEFINE DEPT = "Sales" (CHAR)
SQL> SELECT * FROM dept WHERE dname = UPPER('&dept');
原值    1: SELECT * FROM dept WHERE dname = UPPER('&dept')
新值    1: SELECT * FROM dept WHERE dname = UPPER('Sales')

DEPTNO DNAME          LOC
———- ————– ————-
        30 SALES          CHICAGO

e、定制SQL*Plus环境
使用SET命令来控制当前的会话。
语法:SET system_variable value
eg、SQL> set arraysize 20;
可以使用SHOW命令来查看set设置。
eg、SQL> show arraysize
arraysize 20
说明: set命令用法具体请看” oracle set命令详解.txt”

f、在glogin.sql文件中保存定制结果
glogin.sql文件包含在登录时需要执行的标准SET命令及其他命令,我们可以更改glogin.sql以包含其他SET命令。
如:设置sqlplus环境的linesize为300,并让这个变量永久生效在$ORACLE_HOME/sqlplus/admin/glogin.sql(D:\dev\oracle\product\10.2.0\db_1\sqlplus\admin)文件中添加如下内容:set linesize 300
a
g、sqlplus编辑命令
1)、执行def命令查看编辑器的设置:
SQL> def

2)、总结下:
l–列sql
n–切换活动行(n代表行数字)
a–活动行后增加(append)
i–活动行后插入新行增加(input)
c–替换(change)
eg、c /emp_name/emp_age/
del n–删除行n
/–执行sql
eg、
SQL> select deptno, dname from dept;

DEPTNO DNAME
———- ————–
        10 ACCOUNTING
        20 RESEARCH
        30 SALES
        40 OPERATIONS

SQL> i  where deptno>20
SQL> l
  1  select deptno, dname from dept
  2* where deptno>20
SQL> /

DEPTNO DNAME
———- ————–
        30 SALES
        40 OPERATIONS

SQL> del 2
SQL> l
  1* select deptno, dname from dept
SQL> a  where deptno>30
  1* select deptno, dname from dept where deptno>30
SQL> l
  1* select deptno, dname from dept where deptno>30
SQL> /

DEPTNO DNAME
———- ————–
        40 OPERATIONS

程序员的基础教程:菜鸟程序员

oracle sqlplus命令详解的更多相关文章

  1. Oracle Analyze 命令 详解

    官网的链接如下: http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_4005.htm#SQLRF01105 使用DBMS ...

  2. oracle set命令详解

    SQL>set colsep '|'; //输出分隔符eg.SQL> set colsep '|';SQL> select * from dept; DEPTNO|DNAME     ...

  3. Oracle rman 命令详解

    一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation;    list ba ...

  4. oracle中imp命令详解 .

    转自http://www.cnblogs.com/songdavid/articles/2435439.html oracle中imp命令详解 Oracle的导入实用程序(Import utility ...

  5. oracle数据库exp/imp命令详解

    转自http://wenku.baidu.com/link?url=uD_egkkh7JtUYJaRV8YM6K8CLBT6gPJS4UlSy5WKhz46D9bnychTPdgJGd7y6UxYtB ...

  6. ORACLE数据库备份与恢复详解

    ORACLE数据库备份与恢复详解 学习过程中的总结,有兴趣不妨看看,如果有不对的地方,高手不要留情!! Oracle的备份与恢复有三种标准的模式,大致分为两 大类,备份恢复(物理上的)以及导入导出(逻 ...

  7. linux dd命令详解

    Linux-dd命令详解 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 名称: dd 使用权限: 所有使用者dd 这个指令在 ...

  8. oracle表分区详解

    原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...

  9. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

随机推荐

  1. jeffy-vim-v3.1.tar.gz

    下载链接: https://files.cnblogs.com/files/pengdonglin137/jeffy-vim-v3.1.tar.gz 1. 使用sublimemonokai配色 2. ...

  2. datasnap isapi程序iis设置

    datasnap isapi程序iis设置 添加ISAPI和CGI限制: 处理程序映射---添加模块映射: IIS应用程序池要如下设置: 停止ISAPI部署服务

  3. 20170711 通过阿里云与国家气象局合作的api读取历史辐照数据

    一.概述     今天收到阿里云推送的试用通知,就迫不及待的申请了一个试用key,开始试用.     初步使用之后发现基本可用,至于最后是否适合商用还要看他的收费情况.           接口的使用 ...

  4. Oracle 之 树查询 START WITH ... CONNECT BY ...子句

    START WITH ... CONNECT BY ...子句是结构化查询中用到的,其基本语法是: select … from tablename start with 条件1 connect by ...

  5. 通过js实现整屏滑动+全屏翻页+动画展示+线性图

    技术:html+css+jquery+jquery-ui.js+jquery.fullPage.js   概述 本demo主要通过html+css+js实现整屏滑动,全屏翻页并带动画的功能效果,借助于 ...

  6. Python之数学题目练习

    首先,下面的题目来自我的大学同学的分享,他用数学证明,我用编程计算机发现了答案. 他的数学推理: 然后下面是我的Python代码: #coding=utf-8 # 井的高度 well_hegith = ...

  7. AI 名校课程&书籍 需要学习

    斯坦福李飞飞-深度学习计算机视觉 http://study.163.com/course/introduction/1003223001.htm 斯坦福李飞飞-深度学习计算机视觉---视频下载 htt ...

  8. 如何使用maven优雅地管理项目版本号

    原文: https://blog.csdn.net/TeleDCOS/article/details/79853782

  9. 2.4G还是5G?带你选择最正确的路由器

    智能设备井喷的时代,无线路由器成为家庭中最重要的电器设备.稳定性.连接速度.信号强弱都是无线路由使用体验的重要组成部分.究竟如何选购与配置路由器才能得到最好的用户体验呢? 当你在选购无线路由器的时候是 ...

  10. EL表达式具体解释

    在 JSP 页面中,使用标签库取代传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而.由自己定义标签非常easy造成反复定义和非标准的实现.鉴于此.出现了 JSTL ( JSP St ...