使用 DBACCNOIGN 环境变量,可以指定在发生指定的错误时 DB-Access 实用程序的行为。
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 语句。这些消息还会标识错误原因,以便您能够解决问题。