首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle SQL*Plus 入門指南:啟動、三類命令、執行方式、緩衝區編輯、PL/SQL 區塊輸入

     編輯:Oracle 資料庫基礎

一、啟動 SQL*Plus


# 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*Plus 接受三類命令

類別說明範例
SQL 命令查詢/修改資料、DDLSELECT, 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 命令。

三、輸入與執行三種方式

  1. 分號 + Enter:`SELECT * FROM DUAL;` → 立即執行。
  2. 斜線 / + Enter:`/` → 執行緩衝區最近一條 SQL/PLSQL (等同分號)。
  3. 空行 + Enter:進入多行編輯模式,提示符變 `2, 3...`,語句存入緩衝區,**不執行**,需輸入 `/` 或 `;` 執行。

四、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 INTO TEMP VALUES(I, X, 'I is odd');
  9     END IF;
 10     X := X + 100;
 11   END LOOP;
 12  END;
 13  .
 14  /
  • 輸入 `DECLARE` 後自動進入 PL/SQL 編輯模式 (行號遞增)。
  • 以 **單獨一行點號 `.`** 結束區塊輸入。
  • 以 **斜線 `/`** 執行緩衝區內的完整區塊。

五、常用 SQL*Plus 格式化命令速查


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)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved