SQL 急急急,快帮帮我~~~~~~~~~~~~~~~~~` 5

CREATEPROCEDUREget_tableinfoASdeclare@tablenamevarchar(255)--表名称DECLAREInfo_cursorCUR... CREATE PROCEDURE get_tableinfo AS
declare @tablename varchar(255) --表名称
DECLARE Info_cursor CURSOR FOR
select o.name
from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1
and o.name not like N'#%%' AND O.NAME!='XX' AND O.NAME!='TABLEINFO' order by o.name
OPEN Info_cursor
FETCH NEXT FROM Info_cursor INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
if exists (select * from dbo.sysobjects
where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
execute sp_executesql
N'DELETE TABLEINFO WHERE NAMEINFO=@TBNAME',
N'@tbname varchar(255)',
@tbname = @tablename
END
FETCH NEXT FROM Info_cursor INTO @tablename
END

CLOSE Info_cursor
DEALLOCATE Info_cursor
GO
执行的时候系统说INFO_CURSOR游标已存在是怎么
回事,我要怎么改才能好用呢?????
我加 DEALLOCATE Info_cursor 了
系统先告诉我游标不存在,又说游标已存在
名字也改过,问题同样存在
展开
 我来答
百度网友9bade3d
2006-03-22 · TA获得超过1063个赞
知道小有建树答主
回答量:428
采纳率:0%
帮助的人:475万
展开全部
先在查询分析器里执行这句.
DEALLOCATE Info_cursor
然后再执行你的存储过程.
应该就没问题了.
如果你的过程写的没问题的话,以后直接执行就可以.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f53cacb
2006-03-22 · TA获得超过4664个赞
知道大有可为答主
回答量:4511
采纳率:50%
帮助的人:2199万
展开全部
可能是你上一次调试的时候没有关闭INFO_CURSOR,所以这次OPEN时,该游标确实已经打开,解决办法,先在第一行关闭游标,然后再改过来;同样定义游标时也一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5c91d28
2006-03-22 · TA获得超过5085个赞
知道大有可为答主
回答量:1916
采纳率:50%
帮助的人:1783万
展开全部
我在用游标之前,一般先判断游标是不是存在,如果存在就先DEALLOCATE 掉,

请在DECLARE Info_cursor CURSOR FOR 之前加上

if exists(select * from master.dbo.syscursors where cursor_name='Info_cursor')
begin
deallocate Info_cursor
end
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鬼火狼烟
2006-03-22 · TA获得超过6333个赞
知道大有可为答主
回答量:2275
采纳率:50%
帮助的人:2801万
展开全部
将INFO_CURSOR换一个名字试一下,如果故障依旧,那么在DECLARE Info_cursor CURSOR FOR
前加DEALLOCATE Info_cursor
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boofuu
2006-03-22 · 超过27用户采纳过TA的回答
知道答主
回答量:112
采纳率:83%
帮助的人:50.7万
展开全部
继续检查吧,精神上支持你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式