为了账号安全,请及时绑定邮箱和手机立即绑定

检查是否存在行,否则插入

检查是否存在行,否则插入

BIG阳 2019-11-21 15:20:02
我需要编写一个T-SQL存储过程来更新表中的一行。如果该行不存在,则将其插入。所有这些步骤都由事务包装。这是用于预订系统的,因此它必须是原子性和可靠的。如果已提交交易并预订了航班,则必须返回true。我是T-SQL的新手,不确定如何使用@@rowcount。这就是我到目前为止所写的。我在正确的道路上吗?我相信这对您来说是一个简单的问题。-- BEGIN TRANSACTION (HOW TO DO?)UPDATE Bookings SET TicketsBooked = TicketsBooked + @TicketsToBook WHERE FlightId = @Id AND TicketsMax < (TicketsBooked + @TicketsToBook)-- Here I need to insert only if the row doesn't exists.-- If the row exists but the condition TicketsMax is violated, I must not insert -- the row and return FALSEIF @@ROWCOUNT = 0 BEGIN INSERT INTO Bookings ... (omitted)END-- END TRANSACTION (HOW TO DO?)-- Return TRUE (How to do?)
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 582 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信