2010-10-16 4 views
0

Je veux créer une procédure quiinserts et sélectionne plusieurs dans une procédure stockée

A) vérifier si TicketNumberInput est dans le tableau Tix_number.TicketNumber.

B) si elle ne exisist, mettez à jour l'enregistrement pour régler UID à @uid et définir les Claimdate à GetDate()

ET ...

C) insérer un enregistrement dans une autre table (TRANSACTION LOG TABLE)

Si l'enregistrement existe, ajoutez simplement un enregistrement dans le journal des transactions avec STATUS = 2 (failed).

Ceci est mon code jusqu'à présent, mais cela ne semble pas poser de problème lors de la vérification des instructions IF ET de la mise à jour de l'enregistrement ET de l'insertion d'un autre enregistrement. Comment puis-je ajouter plusieurs vérifications dans une instruction? La fin de début n'a pas semblé fonctionner

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' 

MERCI pour votre aide !!!

Répondre

4

Vous n'avez aucun test dans le cadre de votre FI. Vous devez tester, puis faire quelque chose:

Questions connexes