我有這個查詢,首先檢查項目是否仍然可用。如果它仍然可用,那麼服務器將返回該項目,然後自動遞減它..這是我的語法,我想出來的是我只需要請求一次,因此我需要將這3個查詢合併成一個。可能嗎?我可以要求樣品嗎?3查詢在1交易mysql中
IF SELECT EXISTS (SELECT * FROM inventorylist WHERE BarcodeNumber = '9555440808279' AND NotificationQuantity > 0)
BEGIN
UPDATE inventorylist SET NotificationQuantity = NotificationQuantity - 1 WHERE BarcodeNumber = '9555440808279';
SELECT * FROM inventorylist WHERE BarcodeNumber = '9555440808279';
END
此語法會返回一個錯誤..
所有的[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF SELECT EXISTS (SELECT * FROM inventorylist WHERE BarcodeNumber = '95554408082' at line 1
[Err] IF SELECT EXISTS (SELECT * FROM inventorylist WHERE BarcodeNumber = '9555440808279' AND NotificationQuantity > 0)
BEGIN
UPDATE inventorylist SET NotificationQuantity = NotificationQuantity - 1 WHERE BarcodeNumber = '9555440808279';
SQL不是一種編程語言:-) – Rufinus 2011-12-20 13:19:39
你指的是我在聲明中使用的「if」嗎?我認爲tsql具有該功能.. :) – 2011-12-20 13:22:33
這不是原始SQL。你想寫一個存儲的例程嗎? – 2011-12-20 13:24:01