【发布时间】:2018-09-07 00:05:55
【问题描述】:
有人可以帮我在 oracle 表达式视图 x 上编写触发器,该视图 x 通过选择查询从另一个表 y 填充数据。
逻辑: 在表 y 中插入新行后;当表 y 中插入行上的新列的值为“xyz”时,我想根据插入到表 y 的新行上的条件“xyz”更新表达式视图 x 的某些列。
有人可以帮忙吗?
钱德拉
【问题讨论】:
-
“表达式视图”是什么意思?如果您有一个视图,其查询引用您正在更新的表,它无论如何都会看到新值 - 您不需要触发器。如果它没有引用该表,那么您可以使用触发器来更新它正在引用的表,尽管这意味着数据没有被规范化。目前尚不清楚您真正想要做什么。
-
嗨,Alex,感谢您的更新,我想编写一个触发器,它将更新同一张表上新插入行的 2 列,if 条件将检查新插入行的另一列值.
-
那么视图是从哪里进入的呢?您现在似乎指的是一个表中的多行,而不是两个表。编辑您的问题以阐明您真正需要实现的目标;显示表定义、视图定义(如果有且相关)、示例起始数据、您将运行的插入语句和预期结果。它可能仍然太宽泛,但目前无法判断。
-
嗨,Alex,我指的不是表格中的多行。我只有一张桌子假设“测试”。有 4 列 A、B、C、D。何时将新行插入“测试”; A 列的值将位于比较块中(如果条件)。如果条件为真,那么我需要更新行的 C、D 列而不影响 B 列的值。所有事务都将在新的单行和单表“测试”上。这有什么意义吗?我想要一个触发器在为单个表插入时在新行上执行此任务。
标签: database oracle triggers oracle12c