导航

SQL Server命名随笔

Posted on 2011-12-23 11:09  clare-zhang  阅读(277)  评论(0)    收藏  举报

有两点注意的地方,不知道为什么,仅作为注意点吧!

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'.

  

  以上两点的具体原因都不清楚,若有大虾了解,望请不吝赐教啊!