1. 消除trigger的嵌套调用。最好不要用 E X E C sp_c o n f i g u r e 'n e s t e d t r i g g e r s', '0', 应该在trigger中使用判断语句, 例如:if not UPDATE (NAME) RETURN。
2. 使用 not for r e p l i c a t i o n 禁止在复制的时候触发trigger。
3. 创建p u b l i s h e r article的时候, 设置 c o p y u s e r t r i g g e r s为 true。
这样保证:trigger不会嵌套调用;复制不会触发trigger;而且publisher 和 subscriber上都会有触发器, 这样trigger的执行结果会实时得反映到当前节点并会复制到其他节点。
例:
C R E A T E T R I G G E R [trg_testtable] on [dbo].[testtable]
for I N S E R T , U P D A T E
not for R E P L I C A T I O N
AS
if not U P D A T E (n a m e) R E T U R N
U P D A T E t e s t t a b l e S E T anum = dbo.fn_G e t O r d e r S t r i n g(name) W H E R E id in (S E LE CT id F R O M I N S E R T E D )
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/