Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Where to put OUTPUT
Message
 
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Stored procedures, Triggers, UDFs
Divers
Thread ID:
01673317
Message ID:
01673322
Vues:
39
>>>Hi,
>>>
>>>Where do you put an OUTPUT command in a SQL Update of the following "structure"?
>>>
>>>
>>>update t1 set @Qty2Use = case when t1.qty_left >= @QtyUseRemain then @QtyUseRemain else t1.qty_left end,  
>>>t1.qty_left = t1.qty_left - @Qty2Use
>>>from #InvStockTemp t1 inner join (select top (1) ......
>>>.....
>>>
>>>
>>>I declared the temp variable as follows:
>>>
>>>DECLARE @UpdateOutput table
>>>(
>>>  QtyLeftOld int,
>>>  QtyLeftNew int
>>>);
>>>
>>>
>>>But when I put the OUTPUT right before FROM #InvStockTemp, I get an error.
>>>
>>>Where do I put it?
>>>
>>>TIA
>>
>>See sample E in this https://docs.microsoft.com/en-us/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-ver15
>
>Already have a question about OUTPUT.
>
>In the UPDATE I set the new value of the column QTY_LEFT. And then, based on the value in this column, I have to set the value of the column REC_ID. So, my understanding - since the order of evaluation is not certain - to use the New Value of the column QTY_LEFT when setting the value of REC_ID.
>So, my question, can I SET the value of column REC_ID after I have the OUTPUT command?

It will be a new separate UPDATE command.
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform