2012-07-17 132 views
2

這工作之前,但現在它不工作,我很困惑。我審查了整個事情,這一切都看起來不錯,但也許有人更先進可以發現一些東西?SQL更新查詢錯誤

這裏的腳本:

UPDATE Orders SET Orders.OrderStatus = 'Shipped',Orders.SalesRep_CustomerID = null 
WHERE Orders.OrderStatus in ('Pending','Processing') 
AND Orders.PaymentAmount = Orders.Total_Payment_Received 
AND Orders.ShipDate < dateadd(day, -60, convert(char(10), getdate(), 101)) 
AND Orders.Shipped = Y 

所有我得到的是一個錯誤,沒有任何解釋。有人可以發現一個錯誤,我敢肯定,很明顯,我只是太新來SQL來識別它。謝謝

+1

你的'Orders.Shipped = Y'應該是'Orders.Shipped ='Y'' – 2012-07-17 18:29:27

回答

6

不知道你得到的錯誤是什麼,但你需要有引號中的Y.

UPDATE Orders SET Orders.OrderStatus = 'Shipped',Orders.SalesRep_CustomerID = null 
WHERE Orders.OrderStatus in ('Pending','Processing') 
AND Orders.PaymentAmount = Orders.Total_Payment_Received 
AND Orders.ShipDate < dateadd(day, -60, convert(char(10), getdate(), 101)) 
AND Orders.Shipped = 'Y' 
+0

啊,就是這樣。謝謝。 – henryaaron 2012-07-17 18:57:38

2

Y中的最後一排,必須在'

UPDATE Orders SET Orders.OrderStatus = 'Shipped',Orders.SalesRep_CustomerID = null 
WHERE Orders.OrderStatus in ('Pending','Processing') 
AND Orders.PaymentAmount = Orders.Total_Payment_Received 
AND Orders.ShipDate < dateadd(day, -60, convert(char(10), getdate(), 101)) 
AND Orders.Shipped = 'Y' 

或者,如果您發佈的錯誤太

0

Update訂單SET Orders.OrderStatus =這將是很好 '已發貨', Orders.SalesRep_CustomerID = NULL WHERE Orders.OrderStatus在( '掛起', '處理') AND Orders.PaymentAmount = Orders.Total_Payment_Received AND Orders.ShipDate < DATEADD(天,-60,轉換(CHAR(10),GETDATE ( ),101)) AND Orders.Shipped ='Y'