declare cr cursor for select doctitle, author from tbldocs --第 1 句
open cr --第 2 句
declare @doctitle varchar(50), @author varchar(20) --第 3 句
fetch next from cr into @doctitle, @author --第 4 句
while @@fetch_status=0 --第 5 句
begin
print @doctitle + ' 的作者是 ' + @author --第 6 句
fetch next from cr into @doctitle, @author --第 7 句
endclose cr --第 8 句
deallocate cr --第 9 句
在查詢分析器中,以上**將表 tbldocs 中的 doctitle, author 以特定的形式顯示出來。
第 1 句 declare 申明游標,注意不像其它變數一樣,變數名沒有以 @ 開頭,for 之後為 sql 語句。
第 2 句開啟游標。
與第 1、2 句對應的第 8、9 句分別表示 關閉游標,釋放物件。可以按 recordset 物件來理解。
第 4 句是將值賦予變數,其格式為:fetch next from 游標名 into 變數序列
第 5 句的 @@fetch_status 是乙個全域性變數,當其值為 0 時,表示取值成功。
T SQL程式設計示例
1.宣告變數 declare name nvarchar 50 declare age int declare name nvarchar 50 age int2.為變數賦值set name 李小龍 方式一 select age 18 方式二 輸出 select 姓名 name select 年齡 ...
T SQL 游標學習筆記
首先 在效能上,游標會吃更多的記憶體,減少可用的併發,占用寬頻,鎖定資源,當然還有更多的 量 從游標對資料庫的讀取方式來說,不難看出游標為什麼占用更多的資源,打個比方 當你從atm取錢的時候,是一次取1000效率更高呢,還是取10次100?游標變數支援兩種方式賦值,定義時賦值和先定義後賦值,定義游標...
SQL之隨機函式及游標應用示例
設計儲存過程,給表中隨機錄入1 99999的數字,通過游標找出其中的最大值和最小值 create table emp eid varchar 10 drop table emp create proc prand as begin declare i int set i 0 while i 100 ...