4 Haziran 2017 Pazar

Oracle Cursor

Cursor Tanımı
Cursor tipleri strong veye weak olabiliyor. Aşağıdaki şekilde strong cursor tipleri return tipi tanımlayanlar. Weak olanlar ise sadece "is ref cursor" ifadesi ile bitenler


Weak Cursor
Weak cursor tanımlamak için aşağıdaki gibi yazmak lazım

Cursor'ın Açılması
Bunun için tanımlanmış cursor değişkenini open  metodu ile çağırmak gerek
V_CURSOR1 T_CURSOR;
Open V_CURSOR1 For Select....

Cursor'ın Kapatılması


Close V_CURSOR; yapmak yeterli

SYS_REFCURSOR
SYS_REFCURSOR da bir weak cursor. Şöyle yaparız.
CREATE OR REPLACE PROCEDURE my_proc
(
  p_id number,
  emp_cursor IN OUT SYS_REFCURSOR
)
AS
BEGIN

OPEN emp_cursor for
select * from emp where emp_number=p_id
end;
/
Cursor kullanmak ile select cümlesi çalıştırmak arasında performans açısından bir fark yok.

Örnek
sys_refcursor nesnesini out parametre olarak veren bir oracle stored function parametreleri şöyledir.

param1
param2
param3
param4_list(cursor)

Hiç yorum yok:

Yorum Gönder