# Linux/Unix 切換 oracle 用戶
su - oracle
# 啟動
sqlplus /nolog
SQL> CONNECT SYS/password AS SYSDBA
SQL> STARTUP
# 解鎖 HR 範例帳號
SQL> ALTER USER HR IDENTIFIED BY HR ACCOUNT UNLOCK;
SQL> EXIT
# 以 HR 登入
sqlplus hr/hr
| 類別 | 說明 | 範例 |
|---|---|---|
| SQL 命令 | 查詢/修改資料、DDL | SELECT, INSERT, CREATE TABLE |
| PL/SQL 區塊 | 程式邏輯、變數、控制結構 | BEGIN ... END; / DECLARE ... BEGIN ... END; |
| SQL*Plus 命令 | 格式化輸出、環境設定、腳本管理 | SET LINESIZE, COLUMN, SPOOL, START, EDIT |
注意:SQL*Plus **預設不緩存自身命令**,只緩存 SQL/PL/SQL。需特殊處理才能存檔 SQL*Plus 命令。
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 INTO TEMP VALUES(I, X, 'I is odd');
9 END IF;
10 X := X + 100;
11 END LOOP;
12 END;
13 .
14 /
SET LINESIZE 200 -- 行寬
SET PAGESIZE 50 -- 頁長
SET LONG 10000 -- 長字顯示長度
COLUMN ENAME FORMAT A20 -- 欄位格式
SET AUTOTRACE ON -- 顯示執行計畫與統計
SPOOL output.lst -- 輸出導向檔案
SPOOL OFF
START script.sql -- 執行腳本
@script.sql -- 同 START
EDIT -- 編輯緩衝區 (調用 EDITOR)