ORACLE PL/SQL 概念

PL/SQL語句塊結構

  1. 聲明部分
  2. 可執行部分
  3. 異常處理部分
示例:
DECLARE -- 聲明部分
v_first_name VARCHAR(32) ;-- 以分號結構語句
v_last_name VARCHAR(32) ;
BEGIN  --可執行部分
    SELECT FISRST_NAME,LAST_NAME
    INTO v_first_name,v_last_name
    FROM STUDENT
    WHERE STUDENT_ID = '123' ;

    DBMS_OUTPUT.PUT_LINE ('STUDENT NAME:''v_first_name' || 'v_last_name') ;

    EXCEPTION -- 異常處理部分
    WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('THERE IS NO STUDENT WITH' || 'STUDENT_ID = 123');
END;

如何執行PL/SQL

每次執行匿名PL/SQL語句塊時,代碼會發送給位於服務器的PL/SQL引擎,在此進行編譯,命名PL/SQL語句塊只在創建或者被修改時進行編譯。編譯過程包括語法檢查,綁定,僞代碼生成。

如何區分PL/SQL語句塊

點號(’.’)或者斜線(‘/’)表示PL/SQL語句塊的結尾,並且點號是可選的,斜線會執行整個PL/SQL語句塊,並且是必需的。

  1. 替代變量
    藉助於替代變量,PL/SQL可以接受輸入信息。通常替代變量的前面是&或者&&。
示例:
DECLARE -- 聲明部分
v_student_id NUMBER :=&sv_student_id; --替代變量
v_first_name VARCHAR(32) ;-- 以分號結構語句
v_last_name VARCHAR(32) ;
BEGIN  --可執行部分
    SELECT FISRST_NAME,LAST_NAME
    INTO v_first_name,v_last_name
    FROM STUDENT
    WHERE STUDENT_ID = sv_student_id ;--替代變量

    DBMS_OUTPUT.PUT_LINE ('STUDENT NAME:''v_first_name' || 'v_last_name') ;

    EXCEPTION -- 異常處理部分
    WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('THERE IS NO STUDENT WITH' || 'STUDENT_ID = 123');
END;
  1. 使用 DBMS_OUTPUT.PUT_LINE語句
    DBMS_OUTPUT.PUT_LINE(”);將處理結果顯示在屏幕上。
    如果在PL/SQL語句塊之前執行SET SERVEROUTPUT OFF ;語句,則屏幕上不會顯示有關處理結果的內容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章