В 1 запросе к серверу sql, как проверить, больше ли значение таблицы, чем ноль, если значение больше нуля, уменьшить значение и вернуть строку этой таблицы ..
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 запроса к серверу. Возможно ли это? Вы можете помочь мне в качестве примера? спасибо, ребята ..
Я использовал @ Arion's Solution, но все же я получил эту ошибку ..
[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
--------------------------------------------------