在1服務器請求sql中,如何檢查表的值是否大於零,如果該值大於零,則遞減該值,然後返回該行的那一行表..Transact SQL遞減表值然後爲MYSQL返回項目
counthere = SELECT COUNT(*) FROM TableName WHERE ColumnName1 > 0 AND ColumnName2 = 'xx';
if (counthere > 0)
{
valuehere = SELECT ColumnName1 FROM TableName WHERE ColumnName2 = 'xx';
UPDATE TableName SET ColumnName1 = (valuehere - 1) WHERE ColumnName2 = 'xx';
SELECT * FROM TableName WHERE ColumnName2 = 'xx';
}
我想使用Transact-SQL執行1請求到服務器..這可能嗎?你能幫我一個例子嗎?感謝鄉親..
我用@阿里翁的解決方案,但我仍然得到這個錯誤..
[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 EXISTS(SELECT *
FROM inventorylist
WHERE BarcodeNum' at line 1
[Err] IF EXISTS(SELECT *
FROM inventorylist
WHERE BarcodeNumber = '9555440808279' AND NotificationQuantity > 0)
THEN
UPDATE inventorylist
SET NotificationQuantity = NotificationQuantity - 1
WHERE BarcodeNumber = '9555440808279'
SELECT *
FROM inventorylist
WHERE BarcodeNumber = '9555440808279'
END
[Msg] Finished - Unsuccessfully
--------------------------------------------------
使用存儲過程的答覆 – 2011-12-20 09:27:42
感謝..我只是想使用Transact-SQL .. :)在MySQL – 2011-12-20 09:31:20
T-SQL?我從來沒有聽說過。 – 2011-12-20 10:00:49