触发器instead of insert是否能解决INSERT 语句与 FOREIGN KEY 约束的冲突?

在父表与子表之间定义了主键与外键的约束,用VB.net中insert时报错了。是不是用触发器insteadofinsert可解决这样的问题?因为在这里“INSERT语句与... 在父表与子表之间定义了主键与外键的约束,
用VB.net中insert时报错了。

是不是用触发器instead of insert可解决这样的问题?

因为在这里“INSERT 语句与 FOREIGN KEY 约束的冲突”是指insert时同时向父表和子表添加内容,
父表主键与子表外键对应的记录还没产生,所以错误。

好像是在insert之前,通过触发器要求先insert父表的内容,再insert子表的内容就行了。
如果我以上的理解是正确的,那么代码应该怎样写呢?
环境:SQL Server 2008
展开
 我来答
zhangbo99_net
2010-01-28 · TA获得超过1465个赞
知道大有可为答主
回答量:922
采纳率:0%
帮助的人:1228万
展开全部
楼主理解正确.
====

create trigger myinsert on table1
insert of insert
as
declare @pkid nvarchar(20) --取子表中的外键值

insert into 主表 values @pkid --先插入主表

insert into 子表 ( select * from inserted) --再插入子表

======
以上是示意代码,仅供参考.
楼主需要稍微改改表名,列名.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式