- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sqlserverfetch和游标cursor
SqlServer的fetch与游标cursor简介
★游标获取用户创建的存储过程和函数文本说明
--select* from sysobjects where xtype=p and name like JAVA_%
--返回名称以“JAVA_”开头的存储过程
--查看用户所创建的存储过程信息
use MyDatabaseName
declare @name nvarchar(80)
declare curProc cursor for
select name from sysobjects where xtype=p and name like JAVA_%
open curProc
fetch next from curProc into @name
while @@fetch_status=0
begin
print exec sp_helptext +@name
exec(exec sp_helptext +@name)
fetch next from curProc into @name
end
close curProc
deallocate curProc
--select*from sysobjects where xtype=fn
--返回函数
--查看用户所创建的函数信息
use MyDatabaseName
declare @FuncName nvarchar(80)
declare CurFunc cursor for
select name from sysobjects where xtype=FN
open CurFunc
fetch next from CurFunc into @FuncName
while @@fetch_status=0
begin
print exec sp_helptext + @FuncName
exec(exec sp_helptext + @FuncName)
fetch next from CurFunc into @FuncName
end
close CurFunc
deallocate CurFunc
★fetch关键字说明
FETCH
从 Transact-SQL 服务器游标中检索特定的一行。
语法
FETCH
[ [ NEXT | PRIOR | FIRST | LAST
| ABSOLUTE { n | @nvar }
| RELATIVE { n | @nvar }
]
FROM
]
{ { [ GLOBAL ] cursor_name } | @cursor_variable_name }
[ INTO @variable_name [ ,...n ] ]
参数
NEXT
返回紧跟当前行之后的结果行,并且当前行递增为结果行。如果 FETCH NEXT 为对游标的第一次提取操作,则返回结果集中的第一行。NEXT 为默认的游标提取选项。
PRIOR
返回紧临当前行前面的结果行,并且当前行递减为结果行。如果 FETCH PRIOR 为对游标的第一次提取操作,则没有行返回并且游标置于第一行之前。
FIRST
返回游标中的第一行并将其作为当前行。
LAST
返回游标中的最后一行并将其作为当前行。
ABSOLUTE {n | @nvar}
如果 n 或 @nvar 为正数,返回从游标头开始的第 n 行并将返回的行变成新的当前行。如果 n 或 @nvar 为负数,返回游标尾之前的第 n 行并将返回的行变成新的当前行。如果 n 或 @nvar 为 0,则没有行返回。n 必须为整型常量且 @nvar 必须为 smallint、tinyint 或 int。
RELATIVE {n | @nvar}
如果 n 或 @nvar 为正数,返回当前行之后的第 n 行并将返回的行变成新的当前行。如果 n 或 @nvar 为负数,返回当前行之前的第 n 行并将返回的行变成新的当前行。如果 n 或 @nvar 为 0,返回当前行。如果对游标的第一次提取操作时将 FETCH RELATIVE 的 n 或 @nvar 指定为负数或 0,则没有行返回。n 必须为整型常量且 @nvar 必须为 smallint、tinyint 或 int。
GLOBAL
指定 cursor_name 指的是全局游标。
cursor_name
要从中进行提取的开放游标的名称。如果同时有以 cursor_name 作为名称的全局和局部游标存在,若指定为 GLOBAL 则 cursor_name 对应于全局游标,未指定 GLOBAL 则对应于局部游标。
文档评论(0)