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互联。