table1結構如下
2id
int3
name
varchar(50
)45declare
@idint
6declare
@name
varchar(50
)7declare
cursor1
cursor
for--
定義游標cursor1
8select
*from
table1
--使用游標的物件(跟據需要填入select文)
9open
cursor1
--開啟游標
1011
fetch
next
from
cursor1
into
@id,
@name
--將游標向下移1行,獲取的資料放入之前定義的變數@id,@name中
1213
while
@@fetch_status=0
--判斷是否成功獲取資料
14begin
15update
table1
setname
=name+'
1'16whereid=
@id--
進行相應處理(跟據需要填入sql文)
1718
fetch
next
from
cursor1
into
@id,
@name
--將游標向下移1行
19end
2021
close
cursor1
--關閉游標
22deallocate
cursor1
declare
@deptid
int,
@username
varchar(20
)--定義游標
declare
select_cursor
cursor
forselect
deptid,username
from
#temp1
open
select_cursor --開啟游標
fetch
next
from
select_cursor
into
@deptid
,@username
--提取操作的列資料放到區域性變數中
while
@@fetch_status=0
--返回被 fetch 語句執行的最後游標的狀態
/*@@fetch_status =0 fetch 語句成功
@@fetch_status =-1 fetch 語句失敗或此行不在結果集中
@@fetch_status =-2 被提取的行不存在
*/begin
--當表#temp2列deptid存在相同的資料時,就直接在列username上追加@username值if(
exists
(select
*from
#temp2
where
deptid
=@deptid
)) update
#temp2
setusername
=username
+@username
where
deptid
=@deptid
else
--插入新資料
insert
into
#temp2
select
@deptid
,@username
fetch
next
from
select_cursor
into
@deptid
,@username
endclose
select_cursor
deallocate
select_cursor
oracle有關游標的知識
一 前言 今天我自己第二次寫游標,我擦,覺得自己在資料庫方面需要很大的提高啊。今天遇到三個問題,第乙個是oracle資料庫中的資料拆分的問題,這個我用regexp substr來進行解決,第二個問題就是regexp substr裡面的引數,我沒有成功的用select語句進行代替 我現在還不知道 第三...
ORACLE PL SQL 基礎2 游標的學習
游標學習 一 游標是什麼 游標字面理解就是游動的游標。用資料庫語言來描述 游標是對映在結果集中一行資料上的位置實體,有了游標 使用者就可以訪問結果集中的任意一行資料了,將游標放置到某行後,即可對該行資料進行操作,例如提取當前 行的資料等等。二 游標的分類 顯式游標和隱式游標 顯示游標的使用需要4步 ...
MS SQL入門基礎 游標 游標的優點和種類
本章前半部分提供了在ms sql server 中應用游標所應具有的有關游標的必要知識和各種語法。從中讀者可以了解游標的優點 種類 作用 學會如何定義 開啟 訪問 關閉 釋放游標以及游標的應用。除此之外,在本章的後半部分我們介紹了檢視和使用者自定義函式,使讀者了解檢視的眾多優點,比如簡化操作 提高資...