PhpStorm 2021.3 Help

代码检查:非法游标状态

报告 SQL 例程中的非法游标状态。

  • 例程具有 CLOSE 或 FETCH 语句,但游标可能已关闭。

  • 例程具有 OPEN 语句,但可能会打开游标。

示例(Microsoft SQL Server):
创建表 t(col INT); CREATE PROCEDURE foo() AS BEGIN DECLARE my_cursor CURSOR FOR SELECT * FROM t; 声明一个 INT;FETCH my_cursor INTO a; 关闭 my_cursor; 结尾;

根据docs.microsoft.com 上的 CLOSE (Transact-SQL),必须在打开的游标上发出 CLOSE,并且不允许在仅已声明或已关闭的游标上发出 CLOSE。所以,我们需要打开游标来修复警告。
CREATE PROCEDURE foo() AS BEGIN DECLARE my_cursor CURSOR FOR SELECT * FROM t; 声明一个 INT;打开我的光标;FETCH my_cursor INTO a; 关闭 my_cursor; 结尾;

禁止编辑器中的检查

  1. 将插入符号放在突出显示的行上,然后按Alt+Enter或单击意图操作图标

  2. 单击要抑制的检查旁边的箭头,然后选择必要的抑制操作。

最后修改:2022 年 2 月 11 日