【发布时间】:2010-10-16 12:06:11
【问题描述】:
我想创建一个过程
A) 检查 TicketNumberInput 是否在表 Tix_number.TicketNumber 中。
B) 如果确实存在,则更新记录以将 UID 设置为 @uid 并将 Claimdate 设置为 GetDate()
和...
C) 将记录插入另一个表(事务日志表)
如果记录确实存在,只需在事务日志中添加一条 STATUS = 2(失败)的记录。
到目前为止,这是我的代码,但检查 IF 语句并更新记录和插入另一条记录似乎没有问题。如何在语句中添加许多检查。 Begin End 似乎不起作用
create procedure [dbo].[UpdateTicketNumber]
@TicketNumberInput uniqueidentifier,
@UID int
as
IF EXISTS(
BEGIN
SELECT *
FROM [tixtowin].[dbo].[Tix_Number]
where @TicketNumberInput = Tix_Number.TicketNumber)
PRINT 'CORRECT RECORD'
Update Tix_Number
Set Tix_Number.UID = @uid, ClaimDate = GETDATE()
where TicketNumber = @TicketNumberInput
/* Success - insert transaction message. Status = 1 */
INSERT INTO [Tix_Transaction]
([Tix_Number],[UID], [status], [Datetime])
VALUES
(@TicketNumberInput, @UID, '1', GetDate())
End
ELSE
/* Failed - insert transaction message. Status = 2 */
INSERT INTO [Tix_Transaction]
([Tix_Number],[UID], [status], [Datetime])
VALUES
(@TicketNumberInput, @UID, '2', GetDate())
PRINT 'INCORRECT RECORD'
谢谢你的帮助!!!
【问题讨论】:
标签: sql sql-server tsql stored-procedures