【发布时间】:2020-05-09 23:47:09
【问题描述】:
我在 SQL Server 中创建了一个触发器,该触发器旨在每当数据输入到某个表(在本例中为一个名为 FORECAST_TEST_DATA 的表)时执行。然后触发器是从插入的行中获取某些值并将它们插入到名为 PRODUCT_TEST_DATE 表的表中。然后使用共享一个公共 PROD_NUM 值的产品填充表中的其他列。
SQL server 中的查询,如下所示:
CREATE OR ALTER TRIGGER FORECAST_TRIGGER ON FORECAST_TEST_DATA
FOR INSERT
AS
INSERT INTO PRODUCT_TEST_DATA
(PRODUCT_TEST_DATA.PROD_NUM, PRODUCT_TEST_DATA.MONTH, PRODUCT_TEST_DATA.STORE_TYPE,
PRODUCT_TEST_DATA.PRODUCT_KEY, PRODUCT_TEST_DATA.CATEGORY,
PRODUCT_TEST_DATA.BRAND_NAME,PRODUCT_TEST_DATA.COLOUR)
SELECT
inserted.PROD_NUM, inserted.MONTH, inserted.STORE_TYPE, inserted.PRODUCT_KEY,
PRODUCT_TEST_DATA.CATEGORY, PRODUCT_TEST_DATA.BRAND_NAME,PRODUCT_TEST_DATA.COLOUR
FROM inserted, PRODUCT_TEST_DATA
WHERE inserted.PROD_NUM = PRODUCT_TEST_DATA.PROD_NUM
GO
触发器已具备所需功能,只需将其重写为 Oracle SQL。
感谢您花时间阅读此问题,感谢您提供任何帮助。
【问题讨论】:
-
你在纠结什么?
-
尝试转换它,当你遇到困难时,粘贴它(上图)。我们可以帮助您解决剩下的问题,但要求我们完成所有工作并不好。例如,Oracle 触发器的文档非常容易找到。你应该只需要 10-15 分钟就能真正靠近。
标签: sql-server oracle database-trigger