首页 新闻 会员 周边 捐助

Sqlserver2000 三张关联的表 如何一次性插入数据 主外建是int类型

0
悬赏园豆:5 [已解决问题] 解决于 2014-02-10 11:56

有这样三张表

表A

AId int

表B

BID int

AId int

表C

CID int

BID int

 

其中A表的数据是一条 其余的两个表可能为多条.

 

那么我写插入语句的时候

首先我的主表A要先有数据 然后AID才能插入到B表 ,然后B表有数据再插入到C

 

这个语句该怎么写?

何小宝的主页 何小宝 | 初学一级 | 园豆:19
提问于:2014-02-07 14:55
< >
分享
最佳答案
0

存儲過程+事務能解決吧,判斷無數據就回滾

收获园豆:5
Kingler | 初学一级 |园豆:146 | 2014-02-07 15:51
其他回答(2)
0

用事务实现.

[秦时明月] | 园豆:738 (小虾三级) | 2014-02-07 15:53
0

begin tran

insert into ....

SELECT @@identity AS 'ID'

 

--roll back

--commit

小草__ | 园豆:194 (初学一级) | 2014-02-07 17:19

那我三张表的话也是这么写?

能写完整点吗?谢谢- -

我的思路是

insert into A...

得到AID

inset into B..AID从刚才表获得

 

接下来的C表类推。 c#中如何实现呢

支持(0) 反对(0) 何小宝 | 园豆:19 (初学一级) | 2014-02-07 17:44
CREATE TABLE #t
(
id INT PRIMARY KEY IDENTITY,
NAME CHAR(1)    
)
DECLARE @aa INT =0
insert into #t values(2) SELECT @aa=@@identity  
SELECT  @aa

你去试试这个思路吧

支持(0) 反对(0) 小草__ | 园豆:194 (初学一级) | 2014-02-07 17:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册