>>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-ver15Already 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?
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham