oracle sqlplus命令详解
涉及到的知识要点
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命令详解的更多相关文章
- Oracle Analyze 命令 详解
官网的链接如下: http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_4005.htm#SQLRF01105 使用DBMS ...
- oracle set命令详解
SQL>set colsep '|'; //输出分隔符eg.SQL> set colsep '|';SQL> select * from dept; DEPTNO|DNAME ...
- Oracle rman 命令详解
一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation; list ba ...
- oracle中imp命令详解 .
转自http://www.cnblogs.com/songdavid/articles/2435439.html oracle中imp命令详解 Oracle的导入实用程序(Import utility ...
- oracle数据库exp/imp命令详解
转自http://wenku.baidu.com/link?url=uD_egkkh7JtUYJaRV8YM6K8CLBT6gPJS4UlSy5WKhz46D9bnychTPdgJGd7y6UxYtB ...
- ORACLE数据库备份与恢复详解
ORACLE数据库备份与恢复详解 学习过程中的总结,有兴趣不妨看看,如果有不对的地方,高手不要留情!! Oracle的备份与恢复有三种标准的模式,大致分为两 大类,备份恢复(物理上的)以及导入导出(逻 ...
- linux dd命令详解
Linux-dd命令详解 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 名称: dd 使用权限: 所有使用者dd 这个指令在 ...
- oracle表分区详解
原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...
- Oracle权限管理详解
Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...
随机推荐
- jeffy-vim-v3.1.tar.gz
下载链接: https://files.cnblogs.com/files/pengdonglin137/jeffy-vim-v3.1.tar.gz 1. 使用sublimemonokai配色 2. ...
- datasnap isapi程序iis设置
datasnap isapi程序iis设置 添加ISAPI和CGI限制: 处理程序映射---添加模块映射: IIS应用程序池要如下设置: 停止ISAPI部署服务
- 20170711 通过阿里云与国家气象局合作的api读取历史辐照数据
一.概述 今天收到阿里云推送的试用通知,就迫不及待的申请了一个试用key,开始试用. 初步使用之后发现基本可用,至于最后是否适合商用还要看他的收费情况. 接口的使用 ...
- Oracle 之 树查询 START WITH ... CONNECT BY ...子句
START WITH ... CONNECT BY ...子句是结构化查询中用到的,其基本语法是: select … from tablename start with 条件1 connect by ...
- 通过js实现整屏滑动+全屏翻页+动画展示+线性图
技术:html+css+jquery+jquery-ui.js+jquery.fullPage.js 概述 本demo主要通过html+css+js实现整屏滑动,全屏翻页并带动画的功能效果,借助于 ...
- Python之数学题目练习
首先,下面的题目来自我的大学同学的分享,他用数学证明,我用编程计算机发现了答案. 他的数学推理: 然后下面是我的Python代码: #coding=utf-8 # 井的高度 well_hegith = ...
- AI 名校课程&书籍 需要学习
斯坦福李飞飞-深度学习计算机视觉 http://study.163.com/course/introduction/1003223001.htm 斯坦福李飞飞-深度学习计算机视觉---视频下载 htt ...
- 如何使用maven优雅地管理项目版本号
原文: https://blog.csdn.net/TeleDCOS/article/details/79853782
- 2.4G还是5G?带你选择最正确的路由器
智能设备井喷的时代,无线路由器成为家庭中最重要的电器设备.稳定性.连接速度.信号强弱都是无线路由使用体验的重要组成部分.究竟如何选购与配置路由器才能得到最好的用户体验呢? 当你在选购无线路由器的时候是 ...
- EL表达式具体解释
在 JSP 页面中,使用标签库取代传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而.由自己定义标签非常easy造成反复定义和非标准的实现.鉴于此.出现了 JSTL ( JSP St ...