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 ;语句,则屏幕上不会显示有关处理结果的内容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章