DELETE 语句 / 直接删除 |
EXEC SQL BEGIN WORK; EXEC SQL DELETE FROM items WHERE order_num = :o_num; if (SQLCODE >= 0) { EXEC SQL DELETE FROM orders WHERE order_num == :o_num;
{ if (SQLCODE >= 0) EXEC SQL COMMIT WORK;
{ else { printf("Error %d on DELETE", SQLCODE); EXEC SQL ROLLBACK WORK; }
在第二种和第三种情况下,数据库受到一定程度的损害;它包含可导致某些查询产生错误结果的部分信息。您必须小心行事来恢复信息的一致性。当使用事务时,会防止所有这些不确定性。