【发布时间】:2014-10-16 17:31:16
【问题描述】:
我有三个通过 DBLink 远程连接的数据库,我想在这三个数据库中创建一条记录。这个问题的动态是有一家公司拥有 3 家零售店,他们可以在其中销售在其他商店中找到的商品。 item1 仅在retailstore1 中找到,item2 仅在retailstore2 中找到,依此类推。但是,一家商店可以出售当前在其中找不到的商品,因此它需要向其他商店提出请求,以检查是否有足够的库存。每当一家商店销售时,它都会在 LOG 中创建一个记录,但前提是它成功了。
这些是示例中使用的表格。
- 零售店 #1:Items(a int), LOG(a int, b int, c int)
- 零售店 #2:Items(b int), LOG(a int, b int, c int)
- 零售店 #3:Items(c int), LOG(a int, b int, c int)
现在,我想在三个商店的 LOG 中记录之前检查库存中是否有足够的商品,但这必须在单个查询或存储过程中完成,或者通过必要的步骤来实现。限制是数据库需要打开一次,执行,关闭,不能更多。
【问题讨论】:
-
注意。如果你知道如何做一个方法,请帮助我。它不必是使用所需语法的完整答案。只是想法。谢谢。
-
我无法理解您的确切问题以及您的架构。如果你想要一个回应,你会想要充实这个问题。一些建议:您使用的是什么版本的 Oracle?您如何检查某个项目是否有库存(您描述的项目表中没有足够的信息)。 LOG 表的目的是什么 - 为什么有三列?您需要显示数据流的示例。如果没有这些,请阅读两阶段提交 (docs.oracle.com/cd/B19306_01/server.102/b14231/ds_txnman.htm)
标签: sql oracle database-security