游标创建步骤~~~谢啦

解决方案 »

  1.   

    A. 使用简单游标和语法
    打开该游标时所生成的结果集包括 pubs 数据库的 authors 表中的所有行和列。可以更新该游标,对该游标所做的所有更新和删除均在提取中表现出来。因为没指定 SCROLL 选项,FETCH NEXT 是唯一可用的提取选项。DECLARE authors_cursor CURSOR
       FOR SELECT * FROM authors
    OPEN authors_cursor
    FETCH NEXT FROM authors_cursorB. 使用嵌套游标生成报表输出
    下例显示如何嵌套游标以生成复杂的报表。为每个作者声明内部游标。SET NOCOUNT ONDECLARE @au_id varchar(11), @au_fname varchar(20), @au_lname varchar(40),
       @message varchar(80), @title varchar(80)PRINT "-------- Utah Authors report --------"DECLARE authors_cursor CURSOR FOR 
    SELECT au_id, au_fname, au_lname
    FROM authors
    WHERE state = "UT"
    ORDER BY au_idOPEN authors_cursorFETCH NEXT FROM authors_cursor 
    INTO @au_id, @au_fname, @au_lnameWHILE @@FETCH_STATUS = 0
    BEGIN
       PRINT " "
       SELECT @message = "----- Books by Author: " + 
          @au_fname + " " + @au_lname   PRINT @message   -- Declare an inner cursor based   
       -- on au_id from the outer cursor.   DECLARE titles_cursor CURSOR FOR 
       SELECT t.title
       FROM titleauthor ta, titles t
       WHERE ta.title_id = t.title_id AND
       ta.au_id = @au_id   -- Variable value from the outer cursor   OPEN titles_cursor
       FETCH NEXT FROM titles_cursor INTO @title   IF @@FETCH_STATUS <> 0 
          PRINT "         <<No Books>>"        WHILE @@FETCH_STATUS = 0
       BEGIN
          
          SELECT @message = "         " + @title
          PRINT @message
          FETCH NEXT FROM titles_cursor INTO @title
       
       END   CLOSE titles_cursor
       DEALLOCATE titles_cursor
       
       -- Get the next author.
       FETCH NEXT FROM authors_cursor 
       INTO @au_id, @au_fname, @au_lname
    ENDCLOSE authors_cursor
    DEALLOCATE authors_cursor
    GO-------- Utah Authors report --------
     
    ----- Books by Author: Anne Ringer
             The Gourmet Microwave
             Is Anger the Enemy?
     
    ----- Books by Author: Albert Ringer
             Is Anger the Enemy?
             Life Without Fear
      

  2.   

    SQL Server 2005 Books Online DECLARE vend_cursor CURSOR
    FOR SELECT * FROM Purchasing.Vendor
    OPEN vend_cursor
    FETCH NEXT FROM vend_cursor
      

  3.   

    declare cursor
    open
    fetch
    do while close
    deallocate 
      

  4.   


    declare @id int,@name varchar(10)
    --定义游标
    declare cur cursor for select id,name from tb
    --打开游标
    open  cur
    --将游标的指针移动到第一条数据 
    fetch next from cur into @id,@name
    --如果游标正常or没结束
    while(@@fetch_status=0)
    begin
    --操作
    update tb set name='aa',scr where id=@id
            --遍历下一条数据
    fetch next from cur into @id
    end
    --关闭游标
    close  cur
    --释放游标
    deallocate  cur
      

  5.   

    declare cur_1 cursor
    for 
    select name from sysobjects where type=N'U'
    open cur_1