Minggu, 09 Januari 2011

CURSOR

cursor
Blok PL/SQL tidak mengizinkan kita untuk menampilkan beberapa baris dengan menggunakan perintah SELECT secara langsung. Untuk mengatasi kendala ini, maka digunakanlah Cursor. Cursor merupakan sejenis variabel yang dapat digunakan untuk menampung banyak nilai berupa baris atau record. Nilai-nilai yang disimpan di dalam sebuah Cursor selanjutnya dapat dimanipulasi sehingga dapat digunakan sesuai kebutuhan. Atau dapat dikatakan bahwa Cursor merupakan pointer yang menunjuk ke suatu bagian memori untuk menyimpan hasil instruksi SQL. Hasil instruksi SQL tersebut biasanya merupakan multiple row, dan Cursor digunakan untuk menunjuk (pointer) ke salah satu baris data.

contoh :
CREATE PROCEDURE DAFTAR_PELANGGAN

AS

DECLARE @CUSTID INT

DECLARE @CUSTNAME VARCHAR(30)

DECLARE @DISCOUNT DECIMAL(4,2)

DECLARE CUSTCURSOR CURSOR

FOR

SELECT CUSTID,CUSTNAME,DISCOUNT

FROM CUSTOMER

ORDER BY CUSTID

FOR READ ONLY

OPEN CUSTCURSOR

WHILE (0=0) BEGIN

FETCH NEXT

FROM CUSTCURSOR INTO @CUSTID,@CUSTNAME,@DISCOUNT


IF (@@FETCH_STATUS <> 0) BREAK

PRINT CAST(@CUSTID AS VARCHAR(5)) + " " + @CUSTNAME +CAST(@DISCOUNT AS VARCHAR(5))

END
/





Tidak ada komentar:

Posting Komentar