Transact SQL的游標例項

2021-08-27 21:17:21 字數 1850 閱讀 3190

--定義authors表的游標

declare author_cursor cursor for

select au_id,au_fname,au_lname

from authors

--宣告變數

declare @au_id varchar(100),@au_fname varchar(100),@au_lname varchar(100)

open author_cursor

fetch next from author_cursor into @au_id,@au_fname,@au_lname

--對authors表項進行迴圈檢查每個作者

while @@fetch_status=0

begin

--列印格式要求的字串

print ''

print '--------- books by author: '+@au_lname+' '+@au_fname

declare @title_id varchar(100)

--定義titleauthor表的游標

declare titleauthor_cursor scroll cursor for

select title_id

from titleauthor

where au_id=@au_id

open titleauthor_cursor

fetch next from titleauthor_cursor into @title_id

--對當前作者的titleauthor表項進行遍歷

while @@fetch_status=0

begin

declare @title varchar(100),@pubdate varchar(100)

--定義titles表的游標

declare titles_cursor scroll cursor for

select title,pubdate

from titles

where title_id=@title_id

open titles_cursor

fetch next from titles_cursor into @title,@pubdate

--對相應title_id的title表項進行遍歷,這裡其實可以去除這一層迴圈

while @@fetch_status=0

begin

--列印格式輸出,包括書籍書目和出版時間

print ' '+@title+' '+@pubdate

fetch next from titles_cursor into @title,@pubdate

endclose titles_cursor

deallocate titles_cursor

fetch next from titleauthor_cursor into @title_id

endclose titleauthor_cursor

deallocate titleauthor_cursor

fetch next from author_cursor into @au_id,@au_fname,@au_lname

endclose author_cursor

deallocate author_cursor

游標變數REF COUSOR 動態游標 使用例項

對於顯示游標的使用,有四個步驟 1 定義游標 cursor cursorname is 2 開啟游標 open cursorname 3 運算元據 fetch cursorname 4 關閉游標 close cursor name 這個step絕對不可以遺漏。動態游標也都遵循這個步驟。一般在游標資料...

mysql游標教程 MySql游標的使用例項

mysql游標使用的整個過程為 1.建立游標 declare calc bonus cursor for select id,salary,commission from employees 2.開啟游標 open calc bonus 3.使用游標 fetch calc bonus into re...

Transact SQL基本的資料訪問

1 表中列的使用技法如下 1 選擇所有列 可以使用 來表示表中所有列 2 選擇部分列 use pubs select au lname,au fname,phone,address from authors 3 為字段設定別名 use pubs select title 書名 price from ...