使用游标的sql语句_游标oracle有啥用

使用游标的sql语句_游标oracle有啥用sql游标游标的类型:1、静态游标(不检测数据行的变化)2、动态游标(反映所有数据行的改变)3、仅向前游标(不支持滚动)4、键集游标(能反映修改,但不能准确反映插入、删除)游标使用顺序:1、定义游标2、打开游标3、使用游标4、关闭游标5、释放游标Transact-SQL:declare游标名cursor[LOCAL|GLOBAL][FORWARD_ONLY|SCROLL][STATI...

sql游标

游标的类型:

1、静态游标(不检测数据行的变化)

2、动态游标(反映所有数据行的改变)

3、仅向前游标(不支持滚动)

4、键集游标(能反映修改,但不能准确反映插入、删除)

游标使用顺序:

1、定义游标

2、打开游标

3、使用游标

4、关闭游标

5、释放游标

Transact-SQL:

declare 游标名 cursor [LOCAL | GLOBAL][FORWARD_ONLY | SCROLL][STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS]

for selet语句   [for  update[of 列名[,列名]]

注:LOCAL 局部游标     GLOBAL 全局游标

FORWARD_ONLY 仅向前  SCROLL 滚动

STATIC 静态  KEYSET 键集 DYNAMIC 动态

READ_ONLY 只读 SCROLL_LOCKS 锁定游标当前行

获取游标的数据

FETCH [[NEXT | PRIOR | FIRST | LAST |

ABSOLUTE{ n | @nvar | RELATIVE { n | @nvar}]

from ] 游标名 [into 变量]

注:

NEXT  下一行  PRIOR  上一行  FIRST 第一行

LAST  最后一行  ABSOLUTE n 第n行

RELATIVE n 当前位置开始的第n行

into 变量  把当前行的各字段值赋值给变量

游标状态变量:

@@fetch_status  游标状态

0 成功  -1 失败  -2 丢失

@@cursor_rows 游标中结果集中的行数

n 行数 -1 游标是动态的  0 空集游标

操作游标的当前行:

current of 游标名

以下例子,在SQL SERVER 2000 测试成功

use

pubs

go

declare

@auid

char

(

12

),

@aulname

varchar

(

20

),

@aufname

varchar

(

20

),

@st

char

(

2

),

@auinfo

varchar

(

50

)

declare

auth_cur

cursor

for

select

au_id, au_lname, au_fname, state

from

authors

open

auth_cur

fetc

相关文档:

1.Oracle删除重复记录.

删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录.

delete from people

where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)

and rowid not i ......

Aaron Bertrand

Adam Machanic

All Things SQL Server

Allen Kinsel - SQL DBA

Allen White

Amit Bansal writes...

Andrew Fryer's Blog

Andrew Kelly

Andy Leonard

Anything and Everything IT

Arcane Code

Arnie Rowland: Ramblings of a Harried Technogeek

B.I. for the SQL Guy

Bart Duncan's SQL Weblog ......

declare @ID varchar(10)

set @ID=9 --根节点

declare @i int --级数

declare @t table(ID varchar(10),ParentID varchar(10),Level int)

set @i = 1

insert into @t select @ID,0,0 --当前级,本级,如果不要的话可以注释掉或再加个参数来选择操作

insert into @t select ID,ParentID,@i from t_ ......

根據前一篇關於自動備份的文章,對應的自動還原方案

create procedure [dbo].[sp_RestoreDatabase]

@SourceDirBackupFiles NVARCHAR(200)

as

declare @DatabaseName sysname

--Table to hold the result from RESTORE HEADERONLY. Needed to get the database name o ......

本文来源摇滚死兔子,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/209707
0

发表评论