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 系统级. ...
随机推荐
- 简易RPC框架-SPI
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Sublime Text 显示韩文和文件编码
菜单 Preferences –> Settings 右侧的User { "font_size": 12, "show_encoding": ...
- Lua MD5加密字符串
function md5_sumhexa(k) local md5_core = require "md5.core" k = md5_core.sum(k) return (st ...
- Dockerfile的 RUN和CMD
在创建Dockerfile的时候,RUN和CMD都是很重要的命令.它们各自的作用分别如下: RUNRUN命令是创建Docker镜像(image)的步骤,RUN命令对Docker容器( containe ...
- 初学vue出现空格警告的原因及其解决办法
初学vue自己新建一个vue项目来做学习demo.不过在编写代码时一直出现空格不规范的警告.严重影响初学者的热情.错误如下图所示.(这样的错误很多,但大概翻译成中文的意思都是说空格使用不规范.) 这是 ...
- JavaScript中Object值合并方法
原文:https://www.cnblogs.com/fullstack-yang/p/8085206.html ------------------------------------ 前言:在日常 ...
- Lazarus 初识
Lazarus 使用 Free Pascal 的编译器,支持 Object Pascal 语言,与 Delphi 高度兼容,并看做后者的自由软件替代品. Lazarus 下载与安装 我们先去 Laza ...
- IIS 重写 HTTP 重定向到 HTTPS
1.购买SSL证书 2.IIS7 / IIS 7.5 下绑定 HTTPS 网站(购买Wildcard SSL泛域名证书可绑定多个子域名)参考上文 3.下载安装URL重写模块:Microsoft URL ...
- 【转】ASP.NET中验证控件的使用
前言: 前几日,无奈用JS判断控件的有效性,发现的确是一件费力.费神的事情!特别是针对邮件格式.邮政编码等的关于正则表达式的JS验证(其中涉及正则表达式的比较等,较烦~).其实对于这些常用的控件有效性 ...
- Linux报swap空间占用过高,但物理内存还有空余
收到报警,swap空间占用过高,登录到系统查看内存使用详情,看到物理内存还有很多未使用 问题分析 Swap配置对性能的影响分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误.如 ...