检查 SPL 例程中处理的行数

在 SPL 例程内,您可使用 DBINFO 行数来找出在 SELECT、INSERT、UPDATE、DELETE、EXECUTE PROCEDURE 和 EXECUTE FUNCTION 语句中已处理了的行数。

下图展示一个 SPL 函数,使用带有 'sqlca.sqlerrd2' 选项的 DBINFO 行数,来确定从表删除的行数。

图: 确定从表删除的行数。

CREATE FUNCTION del_rows ( pnumb INT )
            RETURNING INT;
            
            DEFINE nrows INT;
            
            DELETE FROM sec_tab WHERE part_num = pnumb;
            LET nrows = DBINFO('sqlca.sqlerrd2');
            
            RETURN nrows;
            
            END FUNCTION;

要确保有效的结果,请在已执行完毕的 SELECT 和 EXECUTE PROCEDURE 或 EXECUTE FUNCTION 语句之后使用此选项。此外,如果您在游标内使用 'sqlca.sqlerrd2' 选择,请确保在关闭游标之前访存所有行,来保证有效的结果。