【发布时间】:2019-08-14 07:54:51
【问题描述】:
我有一个表 t1,其中包含字段 id、名称和日期。当我将日期更新为某个值时,我想将该条目移动到另一个表 t2(在 t1 中将其删除并将其插入到 t2 中)。 我明确希望对 UPDATE 操作而不是 DELETE 操作执行此操作。
我尝试使用 AFTER UPDATE ON t1 触发器来执行此操作,但是,我发现我无法在 t1 的触发器中从 t1 中删除条目。
这是否意味着我需要通过程序执行此操作?如果是,每次我将日期字段更新为 t1 中的某个值时,如何运行程序?
【问题讨论】:
-
" 每次我将日期字段更新为 t1 中的某个值时,如何运行程序"。你不能。您可以做的是在
T1上构建一个 API,这将允许您执行此操作,并从每个人撤消 UPDATE (INSERT, DELETE),迫使他们改为调用您的 API。当然,此选项仅适用于根植于 PL/SQL 逻辑的强大设计原则的应用程序。因此,它可能不是适合您的解决方案(仅统计,在极少数应用程序具有强大的 PL/SQL 设计文化之前)。
标签: sql oracle sql-update procedure database-trigger