使用 DBACCNOIGN 环境变量,可以指定在发生指定的错误时 DB-Access 实用程序的行为。
>>-setenv--DBACCNOIGN--1---------------------------------------><
DATABASE mystore
BEGIN WORK
INSERT INTO receipts VALUES (cust1, 10)
INSERT INTO receipt VALUES (cust1, 20)
INSERT INTO receipts VALUES (cust1, 30)
UPDATE customer
SET balance =
(SELECT (balance-60)
FROM customer WHERE custid = 'cust1')
WHERE custid = 'cust1
COMMIT WORK
此处有一条语句的表名拼写错误:receipt 表不存在。如果未在环境中设置 DBACCNOIGN,那么 DB-Access 会将两条记录插入到 receipts 表中,并更新 customer 表。现在 customer balance 的减少量超过了插入的 receipts 的总和。
但如果将 DBACCNOIGN 设置为 1,那么会打开消息,指示 DB-Access 回滚了所有 INSERT 和 UPDATE 语句。这些消息还会标识错误原因,以便您能够解决问题。