我写了一个游标,内容如下:
DECLARE @A001 char(100),@A005 Numeric(16,6),@A006 Numeric(16,6)
SELECT @A006 = 0
DECLARE CAAA CURSOR FOR
SELECT A001,A005 FROM @AA FOR UPDATE
OPEN CAAA
Fetch Next FROM CAAA INTO @A001,@A005
WHILE(@@FETCH_STATUS = 0)
UPDATE @AA SET A006 = @A006 + A005 FROM @AA WHERE CURRENT OF CAAA
Fetch Next FROM CAAA INTO @A001,@A005
CLOSE CAAA
DEALLOCATE CAAA我的游标是放在一个函数里面,不加游标,函数执行行就5行数据。
但是加的游标后,1个小时都没查询结果出来,问题出在哪里?
DECLARE @A001 char(100),@A005 Numeric(16,6),@A006 Numeric(16,6)
SELECT @A006 = 0
DECLARE CAAA CURSOR FOR
SELECT A001,A005 FROM @AA FOR UPDATE
OPEN CAAA
Fetch Next FROM CAAA INTO @A001,@A005
WHILE(@@FETCH_STATUS = 0)
UPDATE @AA SET A006 = @A006 + A005 FROM @AA WHERE CURRENT OF CAAA
Fetch Next FROM CAAA INTO @A001,@A005
CLOSE CAAA
DEALLOCATE CAAA我的游标是放在一个函数里面,不加游标,函数执行行就5行数据。
但是加的游标后,1个小时都没查询结果出来,问题出在哪里?
解决方案 »
- SQL2005同步复制,出现错误20598,如何得知错误源
- 存储过程有像事务一样的效果么?一次插入多个表的情况如何处理呢?
- sql 2005安装
- 如何得到role 的成员?
- 用计算字段还是用存储过程?
- 求教一条SQL语句!
- java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]End of stream was detected on a read
- 在线等。很简单的SQL语句报错。谢谢!
- 请问:我的数据索引2坏了,怎么才能修复它啊??
- 十万火急!!请大家帮我看一下这个SQL语句!多谢
- sqlserver 服务无法启动 ,提示3417错误
- 谁知道哪有SQLSERVER 2008 R2英文版 32位下载
DECLARE @A001 char(100),@A005 Numeric(16,6),@A006 Numeric(16,6)
SELECT @A006 = 0
DECLARE CAAA CURSOR FOR
SELECT A001,A005 FROM @AA FOR UPDATE
OPEN CAAA
Fetch Next FROM CAAA INTO @A001,@A005
WHILE(@@FETCH_STATUS = 0)
BEGIN
UPDATE @AA SET A006 = @A006 + A005 FROM @AA WHERE CURRENT OF CAAA
Fetch Next FROM CAAA INTO @A001,@A005
END
CLOSE CAAA
DEALLOCATE CAAA