返回首页

gbase数据、南大通用产品文档:GBase8s集中管理

更新日期:2024年09月11日

许多人使用的数据库都很有价值,必须将它们作为重要的企业资源来保护。当编译由价值
数据的存储并同时允许许多职员访问这些数据时,会产生严重问题。通过在维护性能时保
护数据来解决此问题,数据库服务器允许您将这些任务集中。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 9 -
必须保护数据库,以免数据库丢失或遭到破坏。很多情况都可以对数据库构成威胁:软件
和硬件故障以及火灾、水灾和其它自然灾害。丢失重要的数据库可能会带来巨大的破坏。
破坏可能不仅包括重新创建丢失数据的支出和困难,而且包括数据库用户的生产时间损失
以及用户不能工作时失去的业务和信誉。定期备份的计划可能帮助避免或减轻这些可能的
灾难。
必须维护和调整许多人使用的大型数据库。必须有人监视系统资源的使用状况、列出其增
长图表、预计瓶颈并计划数据库的扩展。用户将报告应用程序中的问题;必须有人诊断这
些问题并更正它们。如果快速响应很重要,那么必须有人分析系统的性能并找出响应慢的
原因。

错误号 -746 允许您提供错误消息的正文。就像前面的示例,如果 new_qty 大于 1.50 倍
的 old_qty,以下示例也将生成错误。但是,在本例中,错误号为 -746,并且消息正文 Too
many items for Mfr. 的项过多是作为 RAISE EXCEPTION 语句中的第三个参数提供的。有
关此语句的语法和使用的更多信息,请参阅创建和使用 SPL 例程 中的 RAISE
EXCEPTION 语句。
CREATE PROCEDURE upd_items_p2()

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 346 -

DEFINE GLOBAL old_qty INT DEFAULT 0;
DEFINE new_qty INT;
LET new_qty = (SELECT SUM(quantity) FROM items);
IF new_qty > old_qty * 1.50 THEN
RAISE EXCEPTION -746, 0, 'Too many items for Mfr.';
END IF
END PROCEDURE;
如果使用 DB-Access 提交触发语句,并且如果 new_qty 大于 old_qty,那么您将得到下图显
示的结果。
图: 带有用户指定消息正文的错误号 -746
Press CTRL-W for Help
SQL: New Run Modify Use-editor Output Choose Save Info Drop
Exit
Modify the current SQL statements using the SQL editor.

-------------------- store7@myserver --------- Press CTRL-W for Help -----

INSERT INTO items VALUES( 2, 1001, 2, 'HRO', 1, 126.00);










746: Too many items for Mfr.
如果在 SQL API 中通过 SQL 语句调用触发器,
那么数据库服务器将 sqlcode 设置为 -746,
并在 SQL 通信区域
(SQL;CA)
的sqlerrm 字段中返回消息正文。
有关如何使用 SQL;CA 的
更多信息,请参阅您的 SQL API 出版物。

操作系统:redhat 7
数据库:GBase8a MPP Cluster 数据库
透明网关安装包:GBase8a_MPP_Cluster_Gateway_8.5.1.2_build4.12.tar