游標的基礎知識

2021-08-31 12:31:47 字數 2168 閱讀 6350

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 中應用游標所應具有的有關游標的必要知識和各種語法。從中讀者可以了解游標的優點 種類 作用 學會如何定義 開啟 訪問 關閉 釋放游標以及游標的應用。除此之外,在本章的後半部分我們介紹了檢視和使用者自定義函式,使讀者了解檢視的眾多優點,比如簡化操作 提高資...