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塊,格式化和打印查詢結果。