-- pendeklarasian variable dan kursor
DECLARE @IDMenu INT
DECLARE @MenuName VARCHAR(50)
--Mengisi cursor dengan query yang akan di looping
DECLARE MyCursor CURSOR FOR
SELECT IDMenu,MenuName FROM dbo.TblMenu
OPEN MyCursor
--mengisi hasil record ke dalam variable yang di sediakan
FETCH NEXT FROM MyCursor INTO @IDMenu ,@MenuName
--looping
WHILE @@FETCH_STATUS = 0
BEGIN --penggunaan variable yang
--sudah terisi hasil loopingannya --nantinya terserah mau diapakan hasil perecordnya
SELECT @IDMenu AS idMenu,@MenuName as MenuName
--mengisi hasil record selanjutnya --ke dalam variable yang di sediakan
FETCH NEXT FROM MyCursor INTO @IDMenu ,@MenuName
END
CLOSE MyCursor
DEALLOCATE MyCursor
Menurut Penulis, fetch cursor memang memakan banyak sekali memory, karena setiap loopingan per-record, akan menjalakan satu buah prosedur yang nantinya data tersebut akan kita olah, bayangkan apabila di query kursornya ada ratusan atau bahkan ribuan record, prosedur yang di jalankan = jumlah recordnya.
No comments:
Post a Comment