为啥我不能在 SQL 中创建游标?
Posted
技术标签:
【中文标题】为啥我不能在 SQL 中创建游标?【英文标题】:Why I can't create a cursor in SQL?为什么我不能在 SQL 中创建游标? 【发布时间】:2020-05-21 10:54:25 【问题描述】:在整个互联网上搜索用于在 sql 中创建游标的正确语法。 从这里开始:
DECLARE cursorName CURSOR FOR
SELECT Name
FROM Student;
continue with this: BEGIN
DECLARE cursorNume CURSOR FOR
SELECT Nume
FROM Student;
END;
仍然是错误。我正在使用 Datagrip。 谁能帮帮我?
【问题讨论】:
您使用的是哪种 DBMS 产品? 到目前为止,您已经声明了光标。现在您必须打开并迭代,并且在该迭代中,您可以进行操作。最后你必须关闭它 【参考方案1】:https://www.sqlservertutorial.net/sql-server-stored-procedures/sql-server-cursor/
此链接提供了在数据库中使用游标的步骤,解释了所涉及的所有小步骤。以下是我的做法:
DECLARE
@current_transaction_id bigint;
DECLARE
cursor_for_transactionIds CURSOR FOR SELECT ProfileId FROM EHR.Profiles;
OPEN cursor_for_transactionIds;
FETCH NEXT FROM cursor_for_transactionIds INTO @current_transaction_id;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @current_transaction_id
FETCH NEXT FROM cursor_for_transactionIds into @current_transaction_id;
END;
CLOSE cursor_for_transactionIds;
DEALLOCATE cursor_for_transactionIds;
虽然问这个问题已经很久了。为将来遇到相同问题的人分享问题的解决方案。这就是您提出这个问题的原因。
【讨论】:
以上是关于为啥我不能在 SQL 中创建游标?的主要内容,如果未能解决你的问题,请参考以下文章