这样的SQL语句该怎么写那?

yusongkun 2006-12-18 04:10:48
我一次操作要插入2个表,例如,我要插入一个班级,班级包括一个班主任
所以,班主任对应了班级ID。
但是,我想起用事务,当班级插入成功,班主任插入失败,则要ROLLBACK
所以要一次执行2条,但是,第二条语句要使用到第一条语句返回的ID(这个ID是自动生成的 )
sql1:insert into tbl_班级 () values () select @@IDENTITY
sql2: insert into tbl_班主任 () values ();
请问这个怎么写?请高手解答。
...全文
205 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yusongkun 2007-03-15
  • 打赏
  • 举报
回复
我已经知道怎么做了,同时谢谢楼上的
ldw701 2006-12-20
  • 打赏
  • 举报
回复
DECLARE @id int
BEGIN TRAN
BEGIN
insert into tbl_班级 () values ()
IF @@ERROR=0
BEGIN
SET @id= IDENTITY
insert into tbl_班主任 () values ();
IF @@ERROR=0
COMMIT TRAN
ELSE
ROLLBACK TRAN

END
ELSE
ROLLBACK TRAN
END


END
yusongkun 2006-12-18
  • 打赏
  • 举报
回复
楼上的,这样不现实吧,在班主任表里要insert的时候,有很多是要添加信息的(信息是来自用户输入的),我所的班主任,班级,只是举个例子(容易理解)。
另外:我用的是.NET 2005
saobaxing 2006-12-18
  • 打赏
  • 举报
回复
再班级的表上做个insert触发器吧~ 当它插入一条记录时 再给班主任的表中插入一条记录

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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