2013-08-28 122 views
1
If exists 
(select @item from Table_RestaurantsTransaction 
where [email protected] and OrderPlaced=0 and [email protected]) 

begin 

update Table_RestaurantsTransaction 
set [email protected] 
where [email protected] and [email protected] and OrderPlaced=0 and [email protected] 

end 

else 

begin 

insert into Table_RestaurantsTransaction(Mobile,TransactionID,Item,Price,DecisionStatus,OrderPlaced,TransactionDate,Restaurant,Quantity) 
values(@mobile,@transactionID,@item,@price,1,0,GETDATE(),@restaurantName,@quantity) 


end 
end 

在上面的查詢中,插入查詢僅在我添加項目時第一次執行。然後更新查詢得到執行,如果我添加相同的項目。但是,如果我嘗試添加新項目,插入查詢沒有得到執行,這是在else子句中。if else else查詢不起作用sql

請告訴我的錯誤。

+1

根據您的存在測試,您不允許每個Mobile/OrderPlaced/Restaurant組合的多個項目。 –

回答

7

我想你想測試項目的if子句中存在:

If exists (select 1 
      from Table_RestaurantsTransaction 
      where item = @item and [email protected] and OrderPlaced=0 and [email protected] 
     ) 
. . . 

然而,你應該瞭解merge聲明,這一切在一個聲明。

+0

優秀的男人..它的工作...非常感謝... – codewarrior