Oracle提取游標

2019-10-16 22:06:06

這篇Oracle教學解釋了如何使用Oracle / PLSQL FETCH語句的語法和範例。

在大多數情況下使用游標的目的是從游標中檢索行資料,以便對資料執行某種型別的操作。 宣告並開啟游標後,下一步是使用FETCH語句從游標中提取行資料。

語法

Oracle / PLSQL中的FETCH語句的語法是:

FETCH cursor_name INTO variable_list;

引數

  • cursor_name - 希望獲取行的游標的名稱。
  • variable_list - 用於儲存遊標結果集的變數列表,逗號分隔。

範例

例如,可以將游標定義為:

CURSOR c1
IS
   SELECT course_number
   FROM courses_tbl
   WHERE course_name = name_in;

將用於從該游標獲取資料的命令是:

FETCH c1 into cnumber;

這會將第一個course_number讀入名為cnumber的變數。

下面是一個演示如何使用FETCH語句的函式。

CREATE OR REPLACE Function FindCourse
   ( name_in IN varchar2 )
   RETURN number
IS
   cnumber number;

   CURSOR c1
   IS
     SELECT course_number
     FROM courses_tbl
     WHERE course_name = name_in;

BEGIN

   OPEN c1;
   FETCH c1 INTO cnumber;

   if c1%notfound then
      cnumber := 9999;
   end if;

   CLOSE c1;

RETURN cnumber;

END;