SQL Server 2008中的触发器

问题描述

| 我已经分别为INSERT和UPDATE创建了触发器。在Schema1中进行插入时,触发器将在Schema2中插入一行。表格: 模式1.Temp1 模式2.Temp2 触发器创建成功。 但是当我在
Temp1
中插入数据时,它给我
Temp2
的错误-复制密钥。
Temp2
还有另外两个表的约束。是什么原因引起的,如何解决?     

解决方法

        调用触发器时,尝试在Table2上写(如您所知)。 您尚未使用在Temp2中存在Temp1行的条件编写过INSERT查询的Peraph。 您的查询必须是以下类型:
INSERT INTO Table2 (field list)
SELECT field list
FROM inserted
WHERE NOT EXISTS(SELECT \'key\' in Table2 t2 where t2.id = inserted.field_of_key)
这样,您可以防止重复键,因此,如果您也想在插入中更新table2,则可以在该键已存在时编写UPDATE语句。 告诉我是否可以     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...