軟件測試之PL/SQL用光標查詢多條記錄[1]

發表于:2009-10-14來源:作者:點擊數: 標簽:軟件測試sqlSQLSql光標
軟件測試之PL/ SQL 用光標查詢多條記錄[1] sql 數據庫 關鍵字:sql PL/SQL光標為程序提供了從數據庫中選擇多行數據,然后對每行數據單獨進行處理的方法,它為Oracle提供了一種指示和控制SQL處理的各個階段的方法。我將認為您已經對PL/SQL有一定的了解。通過

軟件測試之PL/SQL用光標查詢多條記錄[1] sql 數據庫

關鍵字:sql     PL/SQL光標為程序提供了從數據庫中選擇多行數據,然后對每行數據單獨進行處理的方法,它為Oracle提供了一種指示和控制SQL處理的各個階段的方法。我將認為您已經對PL/SQL有一定的了解。通過本文,您將學會:1)光標的創建 2)光標的處理 3)定義和使用光標屬性。


  一、 什么是光標

  Oracle使用兩種光標:顯式光標和隱式光標。不管語句返回多少條紀錄,PL/SQL為使用的每一條UPDATE、DELETE和INSERT等SQL命令隱式的聲明一個光標。(要管理SQL語句的處理,必須隱式的給它定義一個光標)用戶聲明并使用顯示光標處理SELECT語句返回的多條記錄。顯示的定義光標一種結構,它使用戶能夠為特定的語句指定內存區域,以便以后使用。

  二、 光標的作用

  當PL/SQL光標查詢返回多行數據時,這些記錄組被稱為活動集。Oracle將這種活動集存儲在您創建的顯示定義的已命名的光標中。Oracle光標是一種用于輕松的處理多行數據的機制,沒有光標,Oracle開發人員必須單獨地、顯式地取回并管理光標查詢選擇的每一條記錄。

  光標的另一項功能是,它包含一個跟蹤當前訪問記錄的指針,這使您的程序能夠一次處理多條記錄。

  三、 使用顯示光標的基本方法

  步驟如下:

  1、聲明光標

  聲明光標的語法如下:
  DECLARE cursor_name
  Is
  SELECT statement

  其中,cursor_name是您給光標指定的名稱;SELECT statement是給光標活動集返回記錄的查詢。

  聲明光標完成了下面兩個目的:1)給光標命名;2)將一個查詢與光標關聯起來。

  值得注意的是,必須在PL/SQL塊的聲明部分聲明光標;給光標指定的名稱是一個未聲明的標識符,而不是一個PL/SQL變量,不能給光標名稱賦值,也不能將它用在表達式中。PL/SQL塊使用這個名稱來引用光標查詢。

  例:
  DECLARE
  CURSOR c1
  Is
  SELECT VIEW_NAME FROM ALL_VIEWS
  WHERE ROWNUM<=10;
  另外還可以在光標定義語句中聲明光標的參數,例:
  CURSOR c1(view _nbr number)
  Is
  SELECT VIEW_NAME FROM ALL_VIEWS
  WHERE ROWNUM<= view _nbr;

  光標參數只對相應的光標是可見的,不能在光標范圍之外引用該光標的參數。如果試圖這樣做,Oracle將返回一個錯誤,指出該變量沒有定義。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97