C#数据库SQL插入两条数据,第二条要引用第一天自动产生的ID怎么写?

Mad_Geek 2014-08-30 03:21:27
C#数据库SQL插入两条数据,第二条要引用第一天自动产生的ID怎么写?


插入第一句在 表A中,字段ID自增的,
那么插入第二句在B表中,B表中需要填入刚插入A表中ID字段的内容怎么写?


第一句:insert into a (user,pass) values('aaa','bbb');

插入结果:1 aaa bbb (1为自增长)

第二句:insert into b (id) values ('1') (内容为刚才A表自增长的)


在数据库如何操作?
...全文
331 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2014-09-01
  • 打赏
  • 举报
回复
insert into a ([user],pass) values('aaa','bbb');
insert into b (id) values (@@IDENTITY)


duoxu1983 2014-09-01
  • 打赏
  • 举报
回复
这些建议直接用c#调proc传参数。 写入的判断由proc来做。比较容易实现。
黑暗中的光芒 2014-09-01
  • 打赏
  • 举报
回复

--建议用触发器

xiaodongni 2014-08-30
  • 打赏
  • 举报
回复
触发器感觉不错。
hleb231 2014-08-30
  • 打赏
  • 举报
回复
create trigger 触发器名
on 表A
after insert
as
begin
insert into表2(id)
select ID from inserted 
end
要注意 你表2 id 字段不能为自增列
卖水果的net 2014-08-30
  • 打赏
  • 举报
回复

drop table t 
create table t(
id int identity ,
name varchar(30)
)
set nocount on
insert into t(name) values(100) 
select @@IDENTITY
insert into t(name) values(100) 
select @@IDENTITY
set nocount off


---------------------------------------
1


---------------------------------------
2



string strsql = "insert into t(name) values(100) ";
strsql += "select @@IDENTITY"; 
cmd.CommandText = strsql ;
object obj = myComm.ExecuteScalar();
hleb231 2014-08-30
  • 打赏
  • 举报
回复
用触发器,当表A id字段新增数据 触发 更新到表B id 字段
lrcitpower 2014-08-30
  • 打赏
  • 举报
回复
同意用触发器,

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧