Oracle資料庫遊標使用

來源:互聯網
上載者:User
SQL是用於訪問ORACLE資料庫的語言,PL/SQL擴充和加強了SQL的功能,它同時引入了更強的程式邏輯。
 PL/SQL支援DML命令和SQL的事務控制語句。DDL在PL/SQL中不被支援,這就意味作在PL/SQL程式塊中不能建立表或其他任何對象。較好的PL/SQL程式設計是在PL/SQL塊中使用象DBMS_SQL這樣的內建包或執行EXECUTE IMMEDIATE命令建立動態SQL來執行DDL命令,PL/SQL編譯器保證對象引用以及使用者的許可權。
  下面我們將討論各種用於訪問ORACLE資料庫的DDL和TCL語句。
  查詢
  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部分聲明的變數,如果是嵌套塊,那麼要注意變數的作用範圍。
  例:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.