在 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;
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 330 -
DELETE FROM sec_tab WHERE part_num = pnumb;
LET nrows = DBINFO('sqlca.sqlerrd2');
RETURN nrows;
END FUNCTION;
要确保有效的结果,请在已执行完毕的 SELECT 和 EXECUTE PROCEDURE 或
EXECUTE FUNCTION 语句之后使用此选项。此外,如果您在游标内使用 'sqlca.sqlerrd2'
选择,请确保在关闭游标之前访存所有行,来保证有效的结果。