首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

MS-SQL应用过程中遇到一个有关问题,超级难

2012-12-14 
MS-SQL应用过程中遇到一个问题,超级难。三表关联,数据批量插入,要求操作期间锁定各表。三张表分别是A(ID_A,N

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

热点排行