>Hi,
>
>I am writing (what appears to be) a simple stored procedure where the first equal sign (=) always shown with squiggly red underline and the message 'Incorrect syntax new ='
>
>
> IF NOT EXISTS (SELECT @InvenPk = INVEN_PK, @UnitPrice = Unit_Price, @CurrStockQty = INSTOCK FROM Parts where inv_code = @Inv_Code)
>
>
>If I remove the first column select the error moves to the next one.
>
>What am I missing?
I guess you are trying to use the @ variables later on that is why you are assigning them some value, but I do not think you can (or should if you can) do that, exists should be used to do exactly that, check if there are records meeting the conditions, so a simple
IF EXISTS (SELECT 1 FROM Parts where inv_code = @Inv_Code)
[Update]
Another alternative, closer to what I think you want is (from
http://stackoverflow.com/questions/8598740/assigning-a-variable-inside-an-if-exists-clause)
SELECT @InvenPk = INVEN_PK, @UnitPrice = Unit_Price, @CurrStockQty = INSTOCK FROM Parts where inv_code = @Inv_Code
IF @@ROWCOUNT > 0 ...
I still found this doubtful as if there are more records complying with your filter you would lose data... (I guess not applicable in this particular case as I guess inv_code is a primary key)
[/Update]
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges