sql 中的 游标有什么作用

 我来答
敏锐且通窍丶典范M
2018-04-16 · TA获得超过292个赞
知道小有建树答主
回答量:472
采纳率:59%
帮助的人:74万
展开全部
因为我们做的数据量大,而且系统上跑的不只我们一个业务。所以,我们都要求尽量避免使用游标,游标使用时会对行加锁,可能会影响其他业务的正常进行。而且,数据量大时其效率也较低效。另外,内存也是其中一个限制。因为游标其实是相当于把磁盘数据整体放入了内存中,如果游标数据量大则会造成内存不足,内存不足带来的影响大家都知道了。所以,在数据量小时才使用游标。
犀利的胡茬子
2018-04-17 · TA获得超过663个赞
知道小有建树答主
回答量:853
采纳率:50%
帮助的人:588万
展开全部
declare cr_cursor cursor --1.定义游标
for select name from dbo.sysobjects where xtype='U' and status>0
--?????? 这里是获取记录
fetch next From cr_cursor into @Table --??这里是用变量@Table保存获取到的select 【name】 from dbo.sysobjects where xtype='U' and status>0
name的值
fetch next From cr_cursor into @Table--这句话的完整意思是
将游标移动到下一条记录并将获取到是name值赋值给变量@Table
----------------------------------------------------------------------
给你一个例子 和说明 我看来几遍就学会游标了 下面是例子
---------------------------------------------------------------------
定义游标
Declare MyCursor Cursor For
Select Field1,Field2
From MyTable
Where (Field1 Like '%123%') And (Field2 = 'qqq') And (Field3 Is Not Null) And ......
Group By Field1,Field2
For Read Only
Open MyCursor

移动游标
fetch first from 游标 into 变量列表

取下一条
fetch next from 游标 into 变量列表

取第n条
fetch absolute n from 游标 into 变量列表

例子

日前,因工作需要累加某表里面的某字段的全部值,
比如有个表,内容如下
id,text
1,春花秋月何时了
2,往事知多少
3,小楼昨夜又春风
4,古国不堪回首月明中
......
其中id为系列号,text为文本内容,我想使用个sql语句,达到如下效果:
查询text列,查询的值累加,即查询结果显示如下:
春花秋月何时了 往事知多少 小楼昨夜又春风 古国不堪回首月明中 ...
用存储过程+游标实现,示例如下
ALTER PROCEDURE [dbo].[abc]
-- Add the parameters for the stored procedure here
@p1 int

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @ttt varchar(100);
declare @bbb varchar(10);
set @ttt=''
set @bbb=''
declare mycur cursor for
select meno from test where gid= @p1
open mycur
fetch next from mycur into @bbb
WHILE @@FETCH_STATUS = 0
BEGIN
set @ttt=@ttt+@bbb
fetch next from mycur into @bbb
end
close mycur
select @ttt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式