Ada keuntungan lain menggunakan DECLARE @local_variable CURSOR sintaks yang baru saya temukan.
Keuntungannya terjadi ketika satu prosedur tersimpan memanggil yang lain, dan kedua prosedur memiliki kursor terbuka pada saat yang sama. Jika DECLARE cursor_name CURSOR digunakan untuk mendefinisikan kursor, dan kedua prosedur menggunakan nama_kursor yang sama, maka Anda mendapatkan
Sebaliknya, Jika DECLARE @local_variable CURSOR digunakan untuk mendefinisikan kursor dalam prosedur tersimpan induk dan anak, lalu @local_variable lokal untuk setiap prosedur dan tidak ada konflik. Bagi yang belum pernah menggunakan cara ini, berikut adalah contoh penggunaan @C sebagai variabel lokal:
DECLARE @C AS CURSOR;
SET @C = CURSOR FOR SELECT ...;
OPEN @C;
FETCH NEXT FROM @C INTO ...;
...