我有以下查詢:如果,否則,如果,否則不能正常工作只有與別的事情
Declare @qty int
SET @qty = (SELECT Qty FROM StockTB WHERE ProductID='6' AND Qty=0)
if(@qty =0)
Update StockTB SET Qty=Qty+5, BatchNo='1234', ExpDate='03/11/2018' WHERE
ProductID='6' AND Qty=0
Else
INSERT INTO StockTB Values('6', '5', '1234', '03/11/2018')
上述查詢工作正常。但是當我在查詢中添加ELSE IF
時,它會失敗。這裏是ELSE IF
的實現。
Declare @expdate date
SET @expdate =(SELECT ExpDate FROM StockTB WHERE ProductID='6' AND
ExpDate='03/11/2018')
Declare @qty int
SET @qty = (SELECT Qty FROM StockTB WHERE ProductID='6' AND Qty=0)
if(@qty =0)
Update StockTB SET Qty=Qty+5, BatchNo='1234', ExpDate='03/11/2018' WHERE
ProductID='6' AND Qty=0
Else if(@expdate='03/11/2018')
Update StockTB SET Qty=Qty+5 WHERE ProductID='6' AND ExpDate='03/11/2018'
Else
INSERT INTO StockTB Values('6', '5', '1234', '03/11/2018')
'SET @qty =(SELECT數量從StockTB WHERE的ProductID = '6',數量= 0)' - 當你期望這是非零? –
@Damien_The_Unbeliever有一種情況:如果查詢沒有返回結果('NULL')。 – MatSnow
@MatSnow - 同意 - 這將是一個非常奇怪的寫作方式,看起來只需要一個'MERGE'。 –