PL/SQL基礎知識
SQL語句都是逐一的傳送給資料庫,而PL/SQL可以一次性將多條SQL語句一起傳送給資料庫. 語法: DECLARE – 宣告部分,例如:定義變數、常量、遊標。 BEGIN – 程式編寫、SQL語句 EXECTPION – 處理異常 END ; /
定義變數:三種方法 1、直接定義 v_result VARCHAR2(30) ; 定義字元型別 v_resultA NUMBER := 100;定義數字等於100 v_resultB NUMBER;定義數字型別 v_resultc NUMBER NOT NULL := 100;定義數字非空為100 2、%TYPE定義變數 DECLARE eno emp.empno%TYPE ; – 與empno型別相同 ena emp.ename%TYPE ; – 與ename型別相同 BEGIN DBMS_OUTPUT.put_line(‘請輸入僱員編號:’) ; eno := &empno ; – 由鍵盤輸入僱員編號 SELECT ename INTO ena FROM emp WHERE empno=eno ; DBMS_OUTPUT.put_line(‘編號為:’ || eno || ‘僱員的名字為:’|| ena) ; END ; / 3、%ROWTYPE裝載一行記錄 DECLARE deptRow dept%ROWTYPE ; – 裝載一行dept記錄 BEGIN SELECT * INTO deptRow FROM dept WHERE deptno=10 ; DBMS_OUTPUT.put_line(‘部門編號:’||deptRow.deptno || ‘,名 稱:’ || deptRow.dname || ‘,位置:’ || deptRow.loc) ; END ; /
變數 := 表示式 ; 連線運算子使用“||” 資料型別劃分 在Oracle之中所提供的資料型別,一共分為四類: 標量型別(SCALAR,或稱基本資料型別):用於儲存單個 值,例如:字串、數字、日期、布林; 複合型別(COMPOSITE):複合型別可以在內部存放多種 數值,類似於多個變數的集合,例如:記錄型別、巢狀 表、索引表、可變陣列等都稱為複合型別; 引用型別(REFERENCE):用於指向另一不同的物件,例 如:REF CURSOR、REF; LOB型別:大資料型別,最多可以儲存4G的資訊,主要用 來處理二進位制資料;