LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1131|回复: 1

SQL*Plus的简单使用之一(原创)

[复制链接]
发表于 2004-2-13 11:11:39 | 显示全部楼层 |阅读模式
Oracle在Oracle 8.0.5之前都是使用字符界面来进行数据库的操作与管理的。而那时候其他最重要的工具就是SQL*plus, 它既可以编辑SQL语句,也可以编辑和调试pl/sql的程序。

下面我一步一步的来学习sql*plus的基本使用:

一、启动sql*plus
在UNIX/Linux系统下首先su成oracle用户
su - oracle,(当然也可以不使用这个用户,其他被你许可为可以使用和管理sql*plus或者是数据库的用户都可以登录到这个地方)

运行sqlplus 命令即可以启动sql*plus, 它会提示你需要输入用户名和用户密码,然后进行登录。
为了更好的操作,在新建数据库的时候,oracle缺省的有一些方案,人事方案是hr, 我们为这个方案解锁,使其可用。
按下面的步骤操作:
sqlplus /NOLOG
CONNECT SYS/密码 AS SYSDBA
STARTUP --启动数据库示例。
ALTER USER HR IDENTIFIED BY HR ACCOUNT UNLOCK --这样即解锁hr用户,并设置了密码hr.
exit --退出sqlplus, 然后再次运sqlplus,输入 hr和其用户密码,即可登录到数据库。

二、输入和执行命令:
在sqlplus可以输入三种命令:
1、SQL命令:对数据库的信息进行操作。
2、PL/SQL程序块:对数据库的信息进行操作。
3、SQL*PLUS命令:格式化查询结果,设置运行选项,编辑和存储SQL命令和PL/SQL命令。

SQL*PLUS将输入到其中的sql,pl/sq命令进行存储,但是缺省却不存储SQL*PLUS命令。
如果需要存储SQL*PLUS命令需要另个处理。
下面介绍。

输入命令后有以下三种方式操作:
1、使用分号,按回车:sql*plus会立即执行你输入的sql语句。
2、使用斜杠 (/):其作用和分号是一致的。
3、使用空格行,然后按回车。这时将出现SQL>提示符。你输入的sql语句将存储到sql*plus的缓冲区中。
当你输入CREATE FUNCTION, CREATE PROCEDURE等pl/sql程序块时,SQL*PLUS自动进入编辑状态。也可以让你输入PL/SQL程序块:
如下面的例子:
SQL> DECLARE
2 X NUMBER := 100;
3 BEGIN
4 FOR i IN 1..10 LOOP
5 IF MOD(i, 2) = 0 THEN
6 INSERT INTO temp VALUES(i, x, 'i is even');
7 ELSE
8 INSERT INOT temp VALUES(I, x, 'i is odd');
9 END IF;
10 x := x + 100;
11 END LOOP;
12 END;
13 .
45 /
输入完成后以 . 作为结束,以/运行你的程序代码块。

可以使用sql*plus的命令来操作SQL命令和PL/SQL块,格式化和打印查询结果。

末完,待续。
 楼主| 发表于 2004-2-13 11:24:55 | 显示全部楼层

SQL*Plus的行编辑命令

由于sql*plus将用户输入的sql, pl/sql命令保存承级冲区里(注意只保存最后执行的命令), 为了再次调用上次输入的命令,可以输入 /进行调用。
sql*plus本带有行编辑器的功能,这样我们可以修改存储在缓冲区里一些执行语句。也可以将它们保存到文件:
下面是sql*plus的行编辑命令:
APPEND text (A text): 在缓冲区行的末尾加上text的文本。
CHANGE/old/new( C/old/new):将当前行中old替换为new
CHANGE/text(C/text) : 从行中删除text文本
CLEAR BUFFER (CL BUFF):清除缓冲区里所有的行
DEL : 删除当前行
DEL *:删除当前行
DEL n * : 删除从n行到当前行。
DEL LAST:删除最后一行。
DEL m n:删除范围为:m到n行。
DEL * N:从当前行向后删除到n行。
INPUT (I):添加一或者多行到缓冲区
INPUT text :添加包含的文本。
LIST (L):列出缓冲区里所有的行。
LIST n :列出第n行。
LIST * :列出当前行。
LIST LAST :列出最后一行。
LIST m n LIST * n:

末完,待续。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表