程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 游標使用大全

Oracle 游標使用大全

編輯:Oracle數據庫基礎

查詢 

    SELECT語句用於從數據庫中查詢數據,當在PL/SQL中使用SELECT語句時,要與INTO子句一起使用,查詢的返回值被賦予INTO子句中的變量

,變量的聲明是在DELCARE中。SELECT             INTO語法如下: 

     SELECT [DISTICT|ALL]{*|column[,column,...]} 

     INTO (variable[,variable,...] |record) 

     FROM {table|(sub-query)}[alias] 

     WHERE............ 

    PL/SQL中SELECT語句只返回一行數據。如果超過一行數據,那麼就要使用顯式游標(對游標的討論我們將在後面進行),INTO子句中要有

與SELECT子句中相同列數量的變量。INTO子句中也可以是記錄變量。 

 

 

%TYPE屬性 

     在PL/SQL中可以將變量和常量聲明為內建或用戶定義的數據類型,以引用一個列名,同時繼承他的數據類型和大小。這種動態賦值方法是

非常有用的,比如變量引用的列的數據類型和大小改變了,如果使用了%TYPE,那麼用戶就不必修改代碼,否則就必須修改代碼。 

 

 

例: 

  v_empno SCOTT.EMP.EMPNO%TYPE; 

  v_salary EMP.SALARY%TYPE; 

   不但列名可以使用%TYPE,而且變量、游標、記錄,或聲明的常量都可以使用%TYPE。這對於定義相同數據類型的變量非常有用。 

    DELCARE 

    V_A NUMBER(5):=10; 

    V_B V_A%TYPE:=15; 

    V_C V_A%TYPE; 

    BEGIN 

      DBMS_OUTPUT.PUT_LINE 

      (''V_A=''||V_A||''V_B=''||V_B||''V_C=''||V_C); 

    END 

    

    SQL>/ 

    V_A=10 V_B=15 V_C= 

     PL/SQL procedure successfully completed. 

     SQL> 

     

其他DML語句 

    其它操作數據的DML語句是:INSERT、UPDATE、DELETE和LOCK TABLE,這些語句在PL/SQL中的語法與在SQL中的語法相同。我們在前面已經討

論過DML語句的使用這裡就不再重復了。在DML語句中可以使用任何在DECLARE部分聲明的變量,如果是嵌套塊,那麼要注意變量的作用范圍。 

 

 

例: 

  CREATE OR REPLACE PROCEDURE FIRE_EMPLOYEE (pempno in number) 

   AS 

    v_ename EMP.ENAME%TYPE; 

    BEGIN 

     SELECT ename INTO v_ename 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved