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

Oracle 游標使用的具體操作方法

編輯:Oracle數據庫基礎

以下的文章主要介紹的是Oracle 游標使用的具體操作方法,如果你是Oracle 游標實際應用方面的新手,你就可以通過以下的文章對Oracle 游標是如何正確使用的方法有一個更好的了解,以下就是文章的詳細內容的介紹。

Oracle 游標使用大全

我們將討論各種用於訪問Oracle數據庫的DDL和TCL語句。

查詢

SELECT語句用於從數據庫中查詢數據,當在PL/SQL中使用SELECT語句時,要與INTO子句一起使用,查詢的返回值被賦予INTO子句中的變量,變量的聲明是在DELCARE中。SELECT INTO語法如下:

  1. SELECT [DISTICT|ALL]{*|column[,column,...]}  
  2. INTO (variable[,variable,...] |record)  
  3. FROM {table|(sub-query)}[alias]  
  4. WHERE............  

在Oracle 游標使用的過程中,PL/SQL中SELECT語句只返回一行數據。如果超過一行數據,那麼就要使用顯式游標(對游標的討論我們將在後面進行),INTO子句中要有與SELECT子句中相同列數量的變量。INTO子句中也可以是記錄變量。

%TYPE屬性

在PL/SQL中可以將變量和常量聲明為內建或用戶定義的數據類型,以引用一個列名,同時繼承他的數據類型和大小。這種動態賦值方法是非常有用的,比如變量引用的列的數據類型和大小改變了,如果使用了%TYPE,那麼用戶就不必修改代碼,否則就必須修改代碼。

例:

  1. v_empno SCOTT.EMP.EMPNO%TYPE;  
  2. v_salary EMP.SALARY%TYPE;  

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

  1. DELCARE  
  2. V_A NUMBER(5):=10;  
  3. V_B V_A%TYPE:=15;  
  4. V_C V_A%TYPE;  
  5. BEGIN  
  6. DBMS_OUTPUT.PUT_LINE  
  7. ('V_A='||V_A||'V_B='||V_B||'V_C='||V_C);  
  8. END  
  9. SQL>/  
  10. V_A=10 V_B=15 V_C=  
  11. PL/SQL procedure successfully completed.  
  12. SQL>  

其他DML語句

其它操作數據的DML語句是:INSERT、UPDATE、DELETE和LOCK TABLE,這些語句在PL/SQL中的語法與在SQL中的語法相同。我們在前面已經討論過DML語句的使用這裡就不再重復了。在DML語句中可以使用任何在DECLARE部分聲明的變量,如果是嵌套塊,那麼要注意變量的作用范圍。

例:

  1. CREATE OR REPLACE PROCEDURE FIRE_EMPLOYEE (pempno in number)  
  2. AS  
  3. v_ename EMP.ENAME%TYPE;  
  4. BEGIN  
  5. SELECT ename INTO v_ename  
  6. FROM emp  
  7. WHERE empno=p_empno;  
  8. INSERT INTO FORMER_EMP(EMPNO,ENAME)  
  9. VALUES (p_empno,v_ename);  
  10. DELETE FROM emp   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved