我试着通过互联网搜索SQL中游标的用途,用法和实现。我发现了一些答案,他们用非常书卷的语言解释了这些答案,并且这些例子对于理解函数本身来说很复杂。我是新手数据库/ SQL所以有人可以用一个简单的例子解释光标。
答案 0 :(得分: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
一般情况下,如果可能的话,应该避免使用游标,因为它们使用起来很麻烦并且表现不佳。
答案 1 :(得分:4)
最简单的形式是使用游标迭代结果集的行。想象一行作为列表中的对象。使用游标,您只能访问该行。
如果您熟悉其他编码语言中的foreach循环,那么您将完成许多相同的功能。
这个链接不太书卷。 Non Bookish Description