网络编程
位置:首页>> 网络编程>> 数据库>> oracle 安装与SQLPLUS简单用法(2)

oracle 安装与SQLPLUS简单用法(2)

 来源:asp之家 发布时间:2009-06-10 17:49:00 

标签:oracle,SQLPLUS,安装

3.2)@命令
@命令和START命令类似,区别在于:@命令既可以在SQLPLUS会话内部运行,也可以在命令行运行,
而START命令只能在SQLPLUS会话内运行.
7.替换变量命令
1)使用替换变量:其格式是在变量名称之前加一个&,以便在运行SQL命令时提示用户输入替换数据,
然后按输入数据运行SQL命令,如:
SQL> SELECT &a FROM emp
2 WHERE deptno = 20
3 AND job = '&b';
输入 a 的值: ename
原值 1: SELECT &a FROM emp
新值 1: SELECT ename FROM emp
输入 b 的值: CLERK
原值 3: AND job = '&b'
新值 3: AND job = 'CLERK'
ENAME
----------
SMITH
ADAMS
2)定义替换变量:事先用DEFINE命令定义替换变量,如:
SQL> DEFINE a = CLERK
SQL> SELECT ename FROM emp
2 WHERE deptno = 20
3 AND job = '&a';
原值 3: AND job = '&a'
新值 3: AND job = 'CLERK'
ENAME
----------
SMITH
ADAMS
3)查看替换变量
SQL> DEFINE a
DEFINE A = "CLERK" (CHAR)
4)清除替换变量
SQL> UNDEFINE a
8.与用户通信
可以使用PROMPT命令,PAUSE命令,ACCEPT命令与用户进行通信
1)PROMPT命令用于输出提示信息,以便使用户了解脚本文件的功能和运行情况
2)PAUSE命令用于暂停脚本文件的运行
3)ACCEPT命令可以让用户指定替换变量的类型(如CHAR,NUMBER,DATE),用PROMPT选项指定提示信息,
用HIDE选项隐藏输入,以便于用户输入替换变量
举例如下:
脚本文件:D:\test.sql内容如下:
ACCEPT pwd PROMPT '请输入密码' HIDE
PROMPT
PROMPT 显示XX部门XX工种的员工姓名
PROMPT ==========================
PROMPT 按<Enter>键继续
PAUSE
ACCEPT a NUMBER PROMPT '请输入部门:'
ACCEPT b CHAR PROMPT '请输入工种:'
SELECT ename FROM emp
WHERE deptno = &a
AND job = '&b';
该脚本文件运行结果为:
SQL> START D:\test.sql
请输入密码*********
显示XX部门XX工种的员工姓名
==========================
按<Enter>键继续
请输入部门:20
请输入工种:CLERK
原值 2: WHERE deptno = &a
新值 2: WHERE deptno = 20
原值 3: AND job = '&b'
新值 3: AND job = 'CLERK'
ENAME
----------
SMITH
ADAMS
9.绑定变量
1)定义绑定变量
可以使用VARIABLE命令来定义绑定变量.当在SQL语句或PL/SQL块中使用绑定变量时,
必须在绑定变量前加冒号(:).当直接给绑定变量赋值时,需要使用EXECUTE命令,例如:
SQL> VARIABLE no NUMBER
SQL> EXECUTE :no := 7788
PL/SQL 过程已成功完成。
SQL> SELECT ename FROM emp WHERE empno = :no;
ENAME
----------
SCOTT
2)输出绑定变量
使用PRINT命令输出绑定变量,例如:
SQL> PRINT no
NO
----------
7788
10.自定义SQLPLUS环境
SQL> SHOW ALL //查看所有环境变量
SQL> SHOW linesize pagesize
SQL> SET linesize 100 pagesize 24 //linesize代表行宽度,默认为80,pagesize表示每页显示的行数,默认为24
SQL> SHOW arraysize //arraysize用于设置从数据库中一次提取的行数,默认为15
SQL> SET arraysize 25
SQL> SHOW autocommit //autocommit用于设置是否自动提交,默认为OFF
SQL> SET autocommit on
SQL> SET colsep | //colsep 用于设置在选定列之间的分隔符,默认为空格
SQL> SELECT ename, sal FROM emp WHERE empno = 7788;
ENAME | SAL
----------|----------
SCOTT | 3000
SQL>SET heading off //heading表示是否显示列标题,默认为ON
SQL> SELECT ename, sal FROM emp WHERE empno = 7788;
SCOTT | 3000
SQL> SET serveroutput on //SEVEROUTPUT用于控制是否显示存储过程的输出,默认为OFF
SQL> EXEC dbms_output.put_line('hello oracle');
hello oracle
PL/SQL 过程已成功完成。
SQL> SET sqlprompt inputSQL> //sqlprompt用来设置SQLPLUS的命令提示符
inputSQL>
SQL>SET time on //time是否在SQLPLUS命令提示符前显示系统时间,默认设置为OFF
19:02:35 SQL>
SQL>SET underline = //underline用于设置下划线字符,默认值为"_"
SQL>SELECT count(*) FROM emp;
COUNT(*)
==========
14
SQL>STORE SET D:\setfile.sql //保存当前的SQLPLUS环境
已创建 file D:\setfile.sql
11.格式化查询结果
1)格式化列
SQL> COLUMN ename HEADING 雇员 JUSTIFY CENTER FORMAT A4
SQL> COLUMN sal HEADING 月薪 JUSTIFY CENTER FORMAT L99999.99
SQL> SELECT ename, sal FROM emp WHERE deptno = 20 AND sal > 2500;
雇员| 月薪
====|===================
JONE| ¥2975.00
SCOT| ¥3000.00
T |
FORD| ¥3000.00
SQL>COLUMN sal CLEAR //恢复列的格式
2)限制重复行
在限制重复行的同时,还可以在各个分组之间插入n个空行,其语法为:
BREAK ON break_column SKIP n
跑到新的一页,其语法为:
BREAK ON break_column SKIP PAGE
在每行之后插入n个空行,其语法为:
BREAK ON ROW SKIP n
在报表之后插入n个空行,其语法为:
BREAK ON REPORT SKIP n
SQL> BREAK ON deptno SKIP 1
SQL> SELECT deptno, ename, sal FROM emp WHERE sal < 2500
2 ORDER BY deptno;
DEPTNO ENAME SAL
---------- ---------- ----------
10 CLARK 2450
MILLER 1300
20 ADAMS 1100
SMITH 800
30 WARD 1250
MARTIN 1250
JAMES 950
TURNER 1500
ALLEN 1600
已选择9行。

0
投稿

猜你喜欢

  • Array.prototype._ = function(){var _p = 0;var _v = 0;(function(){ 
  • MySQL使用环境变量TMPDIR的值作为保存临时文件的目录的路径名。如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、
  • 输入框Input 应当符合逻辑地划分为小组,这样大脑就可以很好的处理大堆区域间的关系。 ——《HTML权威指南》Web 应用程序总是利用表单
  • 在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行。接着该脚本可以检
  • 互联网的真正算得上成功的产品屈指可数,每年都有成千上万个新网站出现,同时也有成千上万的网站死去,而那些算得上成功的产品,无不是从这些尸骨堆里
  • 所有数据库和状态文件都包含在其中。但是,在确定数据目录内容的布局中管理员有某些职责。本文讨论为什么要移动数据目录的各个部分(甚至是字典本身)
  • CSS重设就是由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义
  • upload.htm <html><head><title>网站维护 - 
  • Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的
  • 先前在DW教学-Dreamweaver量身打造Wordpress留言板(一) 教学文章中,已经成功的把前端留言机制与界面搞定了,虽然有了留言
  • 和单选框一样,许多新手在用 Javascript 验证表单(form)中多选框(checkbox)的值时,都会遇到问题,原因是 checkb
  • 内容摘要:本文介绍了使用js来实现下拉伸缩导航菜单的功能,并带有渐显的效果,值得收藏。正好这几天公司不忙,学校又没有事情,所以想抽空架一个个
  • 表中主键必须为标识列,[ID] int IDENTITY (1,1)1.分页方案一:(利用Not In和SELECT TOP分页)语句形式:
  • 把这两个很普遍性的网友比较关心的问题总结回答一下。in和exist的区别从sql编程角度来说,in直观,exists不直观多一个select
  • 啊,inline-block,挺难琢磨并且迷人的声明上承诺了很多,其实提供了很少。很多次我拿到类似这样的 PSD 文件:就哭了。一般说来,这
  • 已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding=
  • [数据恢复故障描述]一台重要的MYSQL数据库服务器,146GB*2,RAID1,约130GB DATA卷,存储了大约200~300个数据库
  • 首先我很不喜欢验证码这东西。但现在越来越多的网站使用验证码来抵御spam的冲击。太揪心了。背景介绍验证码的技术叫CAPTCHA验证,CAPT
  • SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个
  • 一个动态载入asp树源码。把 node.htc, style.css 保存与 css 目录下. index.asp subtree.asp
手机版 网络编程 asp之家 www.aspxhome.com