因为你没有过一边遍历,所以一开始返回的一定是-1,你做个例子中不用使用游标也可以的呀,为什么使用游标?简单的统计数量,count出来就可以了
解决方案 »
- 当插入新数据时,如何用事件触发器检测含有非法字符而不进行插入或者删除刚刚已插入的数据???
- 求 SQL 语句
- textcopy.exe工具怎么使用?在哪里可以下载
- 请教:如何获得set命令设置的属性
- 并发处理
- 如何select字段种值为空(null)的行?
- 急!如何同文件组中多文件之间数据移动
- 菜鸟问题 求一段触发器
- SSPI handshake failed with error code 0x8009030c
- 一个很简单的问题
- 为什么我这句语句会有语法错误?我瞧了半天也瞧不出来
- 用存储过程返回的数据集插入到一个表中,假如存储过程返是1条以上,则报错?Insert into Table Exec Proc1????
declare AppointData_Rain cursor STATIC for
select StartTime,No_50_f,No_51_f,No_52_f,No_53_f,No_54_f,No_55_f,No_56_f,No_57_f,No_58_f,No_59_f,No_60_f,No_61_f
from YZ_RealRain
order by StartTime asc -- open it
open AppointData_Rain
select @cur_rowCount=@@cursor_rows
-- no data return
if @cur_rowCount<1
begin
print @cur_rowCount
end
declare AppointData_Rain INSENSITIVE cursor for
select StartTime,No_50_f,No_51_f,No_52_f,No_53_f,No_54_f,No_55_f,No_56_f,No_57_f,No_58_f,No_59_f,No_60_f,No_61_f
from YZ_RealRain
order by StartTime asc -- open it
open AppointData_Rain
select @cur_rowCount=@@cursor_rows
-- no data return
if @cur_rowCount<1
begin
print @cur_rowCount
end
什么是Dynamic Cursors?以及 INSENSITIVE?
DYNAMIC定义一个游标,以反映在滚动游标时对结果集内的行所做的所有数据更改。行的数据值、顺序和成员在每次提取时都会更改。动态游标不支持 ABSOLUTE 提取选项。KEYSET指定当游标打开时,游标中行的成员资格和顺序已经固定。对行进行唯一标识的键集内置在 tempdb 内一个称为 keyset 的表中。对基表中的非键值所做的更改(由游标所有者更改或由其它用户提交)在用户滚动游标时是可视的。其他用户进行的插入是不可视的(不能通过 Transact-SQL 服务器游标进行插入)。如果某行已删除,则对该行的提取操作将返回 @@FETCH_STATUS 值 -2。从游标外更新键值类似于删除旧行后接着插入新行的操作。含有新值的行不可视,对含有旧值的行的提取操作将返回 @@FETCH_STATUS 值 -2。如果通过指定 WHERE CURRENT OF 子句用游标完成更新,则新值可视。