暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用 'sqlca.sqlerrd1' 选项

bella 2023-11-21
359


'sqlca.sqlerrd1' 返回提供插入到表内的最后的 serial 值的单个整数。要确保有效的结 果,请紧跟在将带有 serial 值的单个行插入到表内的单 SELECT 语句之后使用此选 项。

提示: 要获取插入到表内的最后的 SERIAL8 值的值,请使用 DBINFO 的 'serial8' 选项。要获 取更多信息,请参阅 使用 'serial8' 和 'bigserial' 选项。

GBase 8s SQL 指南:语法 南大通用数据技术股份有限公司 1072

下列示例使用 'sqlca.sqlerrd1' 选项:

EXEC SQL create table fst_tab (ordernum serial, partnum int); EXEC SQL create table sec_tab (ordernum serial); EXEC SQL insert into fst_tab VALUES (0,1); EXEC SQL insert into fst_tab VALUES (0,4); EXEC SQL insert into fst_tab VALUES (0,6); EXEC SQL insert into sec_tab values (dbinfo('sqlca.sqlerrd1'));

此示例将包含主键 serial 值的一行插入到 fst_tab 表内,然后使用 DBINFO 函数来将 同一 serial 值插入到 sec_tab 表内。DBINFO 函数返回的值是被插入到 fst_tab 内的 最后一行的 serial 值。

由于 SQLCA 结构不记录通过触发器插入的 serial 值,因此您不可以 'sqlca.sqlerrd1'、

'bigserial' 或 'serial8' 选项调用 DBINFO 函数来返回触发器的活动插入的 serial 值。

要获取更多关于“SQL 通信区域”(SQLCA)数据结构的信息(sqlca.sqlerrd1 在其内是 一个字段),请参阅 GBase 8s SQL 教程指南。

使用 'sqlca.sqlerrd2' 选项

'sqlca.sqlerrd2' 选项返回提供 SELECT、INSERT、DELETE、UPDATE、EXECUTE PROCEDURE 和 EXECUTE FUNCTION 语句处理了的行的数目的单个整数。要确保 有效的结果,请在 SELECT、EXECUTE PROCEDURE 和 EXECUTE FUNCTION 语 句已执行完成之后使用此选项。此外,当您在游标内使用此选项时,要确保有效的结 果,请确保在关闭游标之前取回所有行。

下列示例展示 SPL 例程,该例程使用 'sqlca.sqlerrd2' 选项来确定从表删除的行的数目:

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

要获取更多关于“SQL 通信区域”(SQLCA)数据结构的信息(sqlca.sqlerrd2 在其内 是一个字段),请参阅 GBase 8s SQL 教程指南。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论