我有一个名为Links
的表格,其中包含字段
[PUBLICATION_ID],
[PAGE_ID],
[COMPONENT_ID],
[COMPONENT_TEMPLATE_ID],
[COMPONENT_TEMPLATE_PRIORITY],
[COMPONENT_POSITION],[URL]
在数据库Tridion_Broker
我想在插入/更新时创建一个SQL触发器,它将从字段[PUBLICATION_ID], [URL]
的“链接”表中获取数据,并将其放入不同的数据库(GoogleLinks
)和表MyLinks
修改:
我的实施如下:
DROP TRIGGER IF EXISTS Update_Google_List;
DELIMITER $$
CREATE TRIGGER Update_Google_List AFTER INSERT , UPDATE
ON Tridion_Broker.dbo.Links
FOR EACH ROW
BEGIN
INSERT INTO GoogleLinks.dbo.MyLinks (PUBLICATION_ID, URL)
SELECT DISTINCT PUBLICATION_ID as n,URL as u
FROM Tridion_Broker.dbo.Links
WHERE Page_ID =@PageID
AND Component_Template_Priority >0
AND PUBLICATION_ID NOT IN(232,481)
AND NOT EXISTS (SELECT 1
FROM MyLinks as g
WHERE g.PUBLICATION_ID = Links.PUBLICATION_ID
)
ORDER BY PUBLICATION_ID
END$$
DELIMITER ;
答案 0 :(得分:5)
创建数据库项,修改数据库模型等。据我所知,无效支持合同。
我建议您在继续这种方法之前仔细检查。
您可以使用Deployer / Broker扩展程序实现相同的方案。 在这种情况下,您可以在不触及数据模型的情况下将链接信息写入不同的表中。
Deployer / Broker扩展是受支持的方案,并且运行良好。
答案 1 :(得分:2)