【发布时间】:2013-07-24 21:13:43
【问题描述】:
在 C# 语言中,我们在循环中使用 continue 语句来移动到下一次迭代。但是在 TSQL 中使用 Cursor 时,我该如何执行相同的操作。假设我有,
DECLARE db_cursor CURSOR FOR SELECT age, name, color FROM table;
DECLARE @myName VARCHAR(256);
DECLARE @myAge INT;
DECLARE @myFavoriteColor VARCHAR(40);
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor;
WHILE @@FETCH_STATUS = 0
BEGIN
--Do stuff
IF @myAge=1
BEGIN
-- Use continue here
END
--Do stuff
FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor;
END;
CLOSE db_cursor;
DEALLOCATE db_cursor;
【问题讨论】:
-
当然你知道如果有基于集合的方法来完成任务,那么使用游标是不好的做法,对吧?光标是性能杀手。
标签: sql sql-server tsql sql-server-2008-r2