Plsql

PL/SQL 游標和記錄

  • March 24, 2014

我是 Pl/sql 的新手,我需要學習編寫簡單的 pl/sql 腳本。PL/sql 中的游標和記錄有什麼區別嗎?到目前為止,我發現它們都很相似。

這裡是 PL SQL 的新手,想幫助我知道的…

記錄類似於表格行,每次可以為每一列保存一個值。游標就像“表”一樣,它們可能包含多行(如果您願意,可以記錄)。

這是聲明記錄的一種方式:

DECLARE
TYPE myRecType
IS
RECORD
(
 [COLUMN NAME] [DATA TYPE],
 .
 ..
 );

游標可以是顯式的或隱式的。每次執行查詢時都會創建隱式游標,並具有一些屬性,可以讓您了解執行查詢後發生的情況。例如

SQL%FOUND will return either TRUE or FALSE if your DML statement affects at least 1 record.

SQL%ROWCOUNT will return the number of rows afected by your DML statement...

另一方面,顯式游標是高級數據操作所必需的,您可以通過提供查詢來創建自己的游標,並且可以遍歷該游標以進行更多數據操作

使用 SELECT 查詢聲明游標並遍歷結果的簡單語法:

Declare
 cursor Mycursor is 
   SELECT 
     ColA,
     ColB,
     Colc
   FROM MyTable;
Begin

  -- Iterate using a for loop
 for X in Mycursor loop
   --print Mycursor.ColA
   -- do whatever you want to do with your data
 end loop;
end;

引用自:https://dba.stackexchange.com/questions/61612