SQL*Plus使用技巧
- SQL*Plus可以在一个缓冲区中保存前面输入的SQL语句,所以可以编辑缓冲区中保留的内容来构建自己的sql语句。下面是一部分常用的编辑命令。
- A[PPEND] text :将text附加到当前行之后
- C[HANGE] /old /new :将当前行的old替换为new
- CL[EAR] BUFF[ER] :清楚缓冲区中的所有行
- DEL :删除当前行
- DEL x :删除第x行,行号从1开始
- L[IST] :列出缓冲区中的所有行
- L[IST] x :列出第x行
- R[UN] 或 /:运行缓冲区中保存的语句
- x :将第x行作为当前行
- SQL*Plus可以保存,检索,运行包含SQL*Plus命令和SQL语句的文件。下面是一些常用的文件命令
- SAV[E] filename
[{REPLACE|APPEND}]:将SQL*Plus缓冲区中的内容保存到由filename所指定的文件中,APPEND选项说明将缓冲区中的内容追加到一个现有的文件之后,REPLACE选项说明覆盖一个现有的文件。(默认情况下,文件会保存到oracle软件安装路径下的bin子目录中) - GET filename :将filename所指定的文件的内容读入SQL*Plus的缓冲区中
- STA[RT] filename :将由filename所指定的文件的内容读入到SQL*Plus缓冲区中,如后视图运行缓冲区的内容
- @filename:与START命令相同
- ED[IT] :将SQL*Plus缓冲区的内容复制到一个名为afield.buf的文件中,如后启动操作系统的默认的编辑器。在退出编辑器时,锁边机的文件将被复制到SQL*Plus缓冲区中
- ED[IT] filename :与EDIT命令相同,但是可以指定要进行编辑的文件,他的文件名可以使用filename参数指定
- SPO[OL] filename :将SQL*Plus整的输出结果复制到filename所指定的文件中
- SPO[OL] OFF filename:将SQL*Plus中的输出结果复制到filename所指定的文件中,并关闭该文件
- 格式化列
- column :指定列名
- alias:指定要格式化的列的别名
- options:指定用于格式化列或别名的一个或多个选项
- 设置页面大小
- 设置行大小
- 清除列格式
- 使用变量
- 使用字符&定义临时变量,后面跟上要定义的变量名
- 原行和新行的输出可以使用SET VERIFY 命令控制,如果输入SET VERIFY OFF 就会禁止显示原行和新行
- SET DEFINE 命令用于指定一个除字符&之外的字符,用来定义变量。如SET DEFINE
"#" - 变量不但可以用来替换列值,还可以用来替换表名和列名
- DEFINE 命令既可以用来定义一个新变量,也可以用来查看当前已经定义的变量 如:DEFINE product_id_var=3 定义product_id_var变量 ,DEFINE 可以用来查看当前定义的所有变量
- ACCEPT命令用于等待用户为变量输入一个值,语法:ACCEPT variable_name [type] [FORMAT format] [PROMOTE promote] [HIDE]
- 使用UNDEFINE 命令删除变量