如何写光标? [英] how to write cursor?

查看:68
本文介绍了如何写光标?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在ms sql server 2008中编写游标??

How to write cursor in ms sql server 2008??

推荐答案

这是一个很好的简单例子,我已经给同事让它们去了。它遍历游标,然后插入到新表中。



Here's a nice simple example I have given to coworkers to get them going. It iterates through the cursor and then inserts into a new table.

DECLARE @StudentID int, @FirstName varchar, @LastName varchar, @GraduateError int
DECLARE StudentCursor CURSOR FOR
SELECT StudentID, FirstName, LastName
FROM Student

OPEN StudentCursor

    FETCH NEXT FROM StudentCursor INTO @StudentID, @FirstName, @LastName

    WHILE @@FETCH_STATUS = 0
        BEGIN
            BEGIN
                INSERT INTO Graduate(StudentID, FirstName, LastName, AddUser, AddDate)
                VALUES(@StudentID, @FirstName, @LastName, 'administrator', GETDATE())

                SELECT @GraduateError = @@ERROR
                IF @GraduateError <> 0
                    BEGIN
                        PRINT '@GraduateError is ' + ltrim(rtrim(@GraduateError)) + '.'
                    END
                ELSE
                    BEGIN
                        PRINT 'Student Migrated to Graduate --> ' + CAST(@StudentID AS Varchar (20))
                    END

                FETCH NEXT FROM PopulationCursor INTO @StudentID, @FirstName, @LastName
            END
        END
    CLOSE StudentCursor
    DEALLOCATE StudentCursor


见这里:MSDN:DECLARE CURSOR [ ^ ]


这篇关于如何写光标?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆