T-SQL的游标和fetch

很多时候我们sql操作会得到一个结果集合,当我们需要依次查看集合内的内容时,我们便需要游标特性了。

所以,sql的游标类似c++里容器的迭代器,下面举个例子来辅助理解:

DECLARE vend_cursor CURSOR   
    FOR SELECT * FROM Purchasing.Vendor
OPEN vend_cursor
    FETCH NEXT FROM vend_cursor
        WHILE(@@fetch_status=0)
        BEGIN
            //BALABALA...
        FETCH NEXT FROM vend_cursor
        END
CLOSE vend_cursor
DEALLOCATE vend_cursor

代码分析:首先使用DECLARE来声明游标,表示为哪个结果集;然后是打开游标,使用游标,关闭游标,释放游标。

FETCH从游标处取得数据,WHILE的判断条件为全局变量(@@表示)fetch_status,表示最近依次FETCH的运行结果状态是否成功,为0的话表示成功拿到数据。

posted on 2015-07-07 20:50  福生  阅读(243)  评论(0编辑  收藏  举报

导航