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

GBase中断了的修改

郑小雯 2023-12-07
88

中断了的修改 

  即使所有软件都没有错误且所有硬件都完全可靠,计算机外部的世界也可干扰它。闪电可 能击中建筑物,中断供电并在您的 UPDATE 语句运行期间停止计算机。当磁盘已满或用 户提供不正确的数据时,更可能发生的情景是,导致您的多行插入过早停止并产生错误。 在任何情况下,每当您修改数据,您必须假设某种不可预测的事件可中断该修改。 当外部原因导致修改中断时,您不可确定该操作完成了多少。即使在单行操作中,您也不 可知道是否正确地更新了到达了磁盘的数据或索引。 如果多行修改是一个问题,则多语句修改就更糟。通常在程序中嵌入它们,因此您看不到 正在执行的个别 SQL 语句。例如,要在演示数据库中输入新的订单,请执行下列步骤: 1. 在 orders 表中插入一行。(此插入生成一个订单编号。) 2. 对于订购的每一商品,在 items 表中插入一行。 存在两种编制订单输入应用程序的方法。一种方法是使它完全是交互的,以便程序立即插 入第一行,然后在用户输入时插入每一商品。但这种方法使得操作可能遭遇许多更不可预 测的事件:客户的电话电线,用户按错键,用户的终端或计算机断电,等等。 下列列表描述构建订单输入应用程序的正确方法: • 以交互方式接受所有数据。 • 验证数据并展开它(例如,在 stock 和 manufact 中查找代码)。 • 在屏幕上显示信息以进行检查。 • 等待操作人员进行最终的提交。 • 快速地执行插入。 即使使用这些步骤,不可预测的情况还可在它插入该订单之后,但在它完成插入商品之前 停止该程序。如果发生那种情况,则数据库处于不可预测的状态:它的数据完整性受到损 害。

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

评论