MS-SQL应用过程中遇到一个问题,超级难。
三表关联,数据批量插入,要求操作期间锁定各表。
三张表分别是A(ID_A,NAME_A)B(ID_B,NAME_B),C(ID_C,ID_A,ID_B)
其中A与B是一对多的关系,通过中间表C互联。
------最佳解决方案-------------------- 多表插入 ,那就直接 事务啊
begion transaction t1
begin try
commit t1
end try
begin catch
rollback t1
end catch
end ------其他解决方案-------------------- 我看你是超级狠
插入的时候锁定各表
------其他解决方案-------------------- 晕,你这样锁表很容易死锁的哦
------其他解决方案-------------------- 引用: 三表关联,数据批量插入,要求操作期间锁定各表。
三张表分别是A(ID_A,NAME_A)B(ID_B,NAME_B),C(ID_C,ID_A,ID_B)
其中A与B是一对多的关系,通过中间表C互联。
BT需求。。。
begin tran
insert into a with(xlock,tablock)
insert into b with(xlock,tablock)
insert into c with(xlock,tablock)
commit tran
------其他解决方案-------------------- 或者先:
begin tran
select top 1 1 from a with(xlock,tablock )
select top 1 1 from b with(xlock,tablock )
select top 1 1 from c with(xlock,tablock )
insert ....
------其他解决方案-------------------- 引用: 或者先:
begin tran
select top 1 1 from a with(xlock,tablock )
select top 1 1 from b with(xlock,tablock )
select top 1 1 from c with(xlock,tablock )
insert ....
+1
------其他解决方案-------------------- 引用: 三表关联,数据批量插入,要求操作期间锁定各表。
三张表分别是A(ID_A,NAME_A)B(ID_B,NAME_B),C(ID_C,ID_A,ID_B)
其中A与B是一对多的关系,通过中间表C互联。
一对多的关系就不用 中间表了吧, 只有多对多 时候才需要
------其他解决方案-------------------- 引用:
引用:
引用:
哥几个现在需求变了:
1、连接异地mdf文件。
2、不能有两个以上(包括两个)用户同时访问此文件。
3、三表关联,数据批量插入。三张表分别是A(ID_A,NAME_A)B(ID_B,NAME_B),C(ID_C,ID_A,ID_B)
其中A与B是一对多的关系,通过中间表C互联。
再求解决方案。
------其他解决方案-------------------- 引用: 引用:
三表关联,数据批量插入,要求操作期间锁定各表。
三张表分别是A(ID_A,NAME_A)B(ID_B,NAME_B),C(ID_C,ID_A,ID_B)
其中A与B是一对多的关系,通过中间表C互联。
一对多的关系就不用 中间表了吧, 只有多对多 时候才需要
这个东西比较特殊,是需要中间表的。另外我的需求啊变了。
引用:
引用:
引用:
1、连接异地mdf文件。
2、不能有两个以上(包括两个)用户同时访问此文件。
3、三表关联,数据批量插入。三张表分别是A(ID_A,NAME_A)B(ID_B,NAME_B),C(ID_C,ID_A,ID_B)
其中A与B是一对多的关系,通过中间表C互联。