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

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 了
系统先告诉我游标不存在,又说游标已存在
名字也改过,问题同样存在

第1个回答  2006-03-22
先在查询分析器里执行这句.
DEALLOCATE Info_cursor
然后再执行你的存储过程.
应该就没问题了.
如果你的过程写的没问题的话,以后直接执行就可以.
第2个回答  2006-03-22
可能是你上一次调试的时候没有关闭INFO_CURSOR,所以这次OPEN时,该游标确实已经打开,解决办法,先在第一行关闭游标,然后再改过来;同样定义游标时也一样。
第3个回答  2006-03-22
我在用游标之前,一般先判断游标是不是存在,如果存在就先DEALLOCATE 掉,

请在DECLARE Info_cursor CURSOR FOR 之前加上

if exists(select * from master.dbo.syscursors where cursor_name='Info_cursor')
begin
deallocate Info_cursor
end本回答被网友采纳
第4个回答  2006-03-22
将INFO_CURSOR换一个名字试一下,如果故障依旧,那么在DECLARE Info_cursor CURSOR FOR
前加DEALLOCATE Info_cursor
第5个回答  2006-03-22
继续检查吧,精神上支持你

sql排序的问题,急啊,帮帮忙啊!
assecc不存在排序这个概念 只有查询输出后才有排序这个概念

sql取值的问题,求助各位高手帮忙~~
select t2.data_value from table_test t2 where t2.id= (select max(t1.id) from table_test t1)

帮忙SQL 语句解释,哪位数据库比较好帮忙解释解释,急急急!~~~
上面那句,这在sql中是用定义游标的,用来一行一行的访问数据 在sql中,游标的生命周期由5部分组成 1.定义一个游标 2.打开游标 3.使用游标 4.关闭游标 5.释放游标 完整的语法如下 1.定义 DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ][ FORWARD_ONLY | SCROLL ][ STATIC | KEYSET | DYNAMIC |...

急急急~~~SQL语句为什么运行不出结果啊~~~新手求解~~~
1.商品.商品号=订单明细.商品号 你两个表裏面有相同的商品好么?2.存在相同的商品号 中是否有订单号="100602001"

sql 显示date问题,急急急~~~
select CONVERT(varchar(100), 列名, 23) from 表名

悬赏:SQL多表查询的题紧急求解,在线等~!!
员工表 ON 订单表.员工编号 = 员工表.员工编号 INNER JOIN 客户表 ON 订单表.客户编号 = 客户表.客户编号 WHERE (订单明细表.单价 * 订单明细表.数量 > 7000)晕死了...我查过来查过去还是13条 SELECT 单价 * 数量 AS a FROM 订单明细表 WHERE (单价 * 数量 > 7000)这个查也是13行 ...

SQL一个数据库中的数据表插入到另一个库的数据表中??急急急,在线等!
(1)在表BB上右击,选择所有任务,然后选择导出数据 (2)点击下一步,再点击下一步 (3)在数据库中选择AA库,点击下一步 (4)然后选择使用一条查询指定要传输的数据,点击下一步 (5)选择查询生成器,在右边选择AA表,展开后,把你想传输的列通过">"添加到右侧,然后点击下一步 (6)如...

关于sql语句的问题,求人帮助
用in 就可以啦~~select * from [table] where id in (值1,值2,值3,...)

Sql语句查询 登录用户来源和人数问题!! 急急急~~
from tab_login_log 按用户分组,rn = 1 该用户只通过一个登录源登录; rn = 2 该用户通过2个登录源登录;rn = 3 该用户通过3个登录源登录,以此类推。如果查询的话,可以使用嵌套子查询,查询自己需要的数据。不如:select source , count(*) from (select row_number() over ( partition...

SQL语句请高手帮忙~tks 我先求出 在2016\/5\/26姓名列的统计该怎么写 如...
select 姓名,count(*) from 表 where 日期='2016\/5\/26'group by 姓名,日期

相似回答