2013-06-28 5 views

ответ

2
UPDATE tblData SET Complete = GETDATE() WHERE transNo IN (SELECT transID from tblTrans WHERE transDesc = @TransDesc) 
0

Попробуйте это ...

UPDATE tblData SET Complete = GETDATE() 
    WHERE transNo IN (SELECT transID from tblTrans WHERE transDesc = @TransDesc); 
0
UPDATE tblData 
SET Complete = GETDATE() 
WHERE transNo IN 
    (SELECT transID 
    from tblTrans 
    WHERE transDesc = @TransDesc) 
2

Есть два способа сделать это. Первый следует оригиналу, и предполагает, что есть только один ТрансИД:

DECLARE @transID int 

SELECT @transID = transID from tblTrans WHERE transDesc = @TransDesc 

UPDATE tblData SET Complete = GETDATE() WHERE transNo = @transID 

Второй аккуратнее, так как она ставит все обновления в одну команду:

UPDATE tblData SET Complete = GETDATE() 
    FROM tblTrans t 
    WHERE t.transID = tblData.transNo 
     AND t.transDesc = @TransDesc