游标的使用

  一、游标的使用并不难,游标其实就是编程中的for循环,只不过在数据库中写法不同而已。

  DECLARE My_Cursor CURSOR --创建游标读取数据

  FOR

  select id,name from  表--数据源

  OPEN My_Cursor; --打开游标

  FETCH NEXT FROM My_Cursor INTO @id,@name   --读取第一行数据

   WHILE @@FETCH_STATUS = 0  
    BEGIN

      --业务处理

    FETCH NEXT FROM My_Cursor INTO @id,@name   --读取下一行数据,没有则会无限循环

    END

    CLOSE My_Cursor; --关闭游标
   DEALLOCATE My_Cursor; --释放游标

  二、在业务处理的地方,可以根据条件循环吧数据加到临时表中,这样一来临时表行转列的动态列数据就可以加到临时表中了。

  但是要添加进去的值是参数

  insert into #t_Data   select  @id,@name   --这样执行会报错

  这里就需要用到拼接了,使用Exec()方法执行。

  Exec('insert into #t_Data   select  '  + @id +@name) --这里只是例子@id是int类型也会报错就需要cast转换类型了。  

 

posted @ 2016-09-29 10:58  ☺Pual  阅读(267)  评论(0编辑  收藏  举报