我必须ON INSERT
在 Oracle 数据库上创建这个时髦的触发器。
我得到了这个缺少部分源代码的旧项目,所以现在我必须只使用数据库来做一些魔术。触发器应该使用另一个视图中的缺失值更新插入的行。
这是一些组成的示例数据:
我有这张表,我们称之为TABLE1。然后我有这个视图,我们称之为VIEW2。在视图中可能有多个具有相同 CODE 的记录,但它们是完全重复的,因此任何行都是有效的。只有少数这样的重复,但客户还没有过滤掉它们。
- TABLE1和VIEW1具有以下字段
(CODE, PARTNER, COUNTRY)
。 - TABLE1也有字段
COMMENT
。
所有字段都是 varchar 类型。
在此字段中,它的值COMMENT
是varchar
类型,并在其值中添加了一个后缀,如下所示:
“-XXX-CODE”,例如“some comment-XXX-123”。
这是我的场景:
这被插入TABLE1:
**CODE;PARTNER;COUNTRY;COMMENT**
- 123;TEST;USA;SOME COMMENT
- 145;TEST2;GB;SOME COMMENT
- NULL;NULL;NULL;SOME COMMENT-XXX-154
这是触发器应该启动的地方。 - 如果字段CODE为 NULL,触发器应该触发 - 根据 -XXX- 前缀解析代码(在本例中取值 154) - 在VIEW上进行选择(选择来自 VIEW1 的代码、合作伙伴、国家/地区,其中代码 = 154 - 如果找到记录,则应使用值更新TABLE1code, partner and country
好吧,我希望情况很清楚。由于我没有使用 oracle 的经验,因此非常感谢我的问题的解决方案。
感激。