有两点注意的地方,不知道为什么,仅作为注意点吧!
1、变量的命名前面最好加上@符号,否则很可能出错
DECLARE tt int
报错:'int' is not a recognized CURSOR option.
看起来系统是将其作为Cursor来识别的,显然就有问题!
如果改写为:DECLARE @tt int,则没有问题!
2、Cursor的命名前面不能加@符号,否则一直报For语法错误
DECLARE @No INT
DECLARE cursor_test CURSOR
FOR SELECT No1 FROM Table_1
OPEN cursor_test
FETCH NEXT FROM cursor_test
INTO @No
WHILE ( @@fetch_status = 0 )
BEGIN
PRINT @No
FETCH NEXT FROM cursor_test
INTO @No
END
CLOSE cursor_test
如果将cursor_test改为@cursor_test
报错:Incorrect syntax near the keyword 'FOR'.
以上两点的具体原因都不清楚,若有大虾了解,望请不吝赐教啊!