我尝试在互联网上搜索 SQL 中游标的目的、使用和实现。我找到了一些答案,它们用非常书卷的语言进行了非常详细的解释,而且这些示例对于理解函数本身来说非常复杂。我是数据库/SQL 的新手所以有人可以用一个简单的例子来解释光标。
问问题
6892 次
2 回答
5
游标允许您逐行对数据执行操作。例如,在 T-SQL 中为表中的每一行调用一个存储过程:
DECLARE @id_variable int
DECLARE the_cursor CURSOR
FOR SELECT id FROM SomeTable
OPEN the_cursor
FETCH NEXT FROM the_cursor INTO @id_variable
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC MyStoredProcedure @id_variable
FETCH NEXT FROM the_cursor INTO @id_variable
END
CLOSE the_cursor
DEALLOCATE the_cursor
一般来说,如果可能的话,应该避免使用游标,因为它们使用起来很麻烦并且性能很差。
于 2013-01-28T16:50:25.967 回答
4
在其最简单的形式中,游标用于遍历结果集的行。将一行想象为列表中的一个对象。使用游标,您只能访问该行。
如果您熟悉其他编码语言中的 foreach 循环,那么您将完成许多相同的功能。
这个链接不是太书本。非书呆子描述
于 2013-01-28T16:51:45.070 回答