Хранимая процедура MySQL; мультистатистическая процедура, выдает ошибку
UPDATE Decks
JOIN Amount ON amount.DeckName = decks.DeckName
SET decks.DeckTotal = Decks.DeckTotal - Decks.DeckTotal
WHERE Amount.AmountName = @aName;
UPDATE Types t1
JOIN Cards ON cards.TypeName = t1.TypeName
JOIN Amount ON amount.CardName = Cards.CardName
SET t1.TypeTotal = t1.TypeTotal - Amount.Amount
WHERE Amount.CardName = @aName;
DELETE *
FROM Amount
WHERE CardName = @aName;
Выше выдается ошибка, когда я пытаюсь поместить ее в хранимую процедуру с помощью phpMyAdmin. Он говорит, что в моем синтаксисе есть ошибка, как только начинается второе утверждение.
1 ответ
Решение
Удалить *
из вашего запроса на удаление.. Затем он будет работать нормально
CREATE PROCEDURE `sp_test`()
Begin
UPDATE Decks
JOIN Amount ON amount.DeckName = decks.DeckName
SET decks.DeckTotal = Decks.DeckTotal - Decks.DeckTotal
WHERE Amount.AmountName =1;
UPDATE Types t1
JOIN Cards ON cards.TypeName = t1.TypeName
JOIN Amount ON amount.CardName = Cards.CardName
SET t1.TypeTotal = t1.TypeTotal - Amount.Amount
WHERE Amount.CardName = @aName;
DELETE
FROM Amount
WHERE CardName = @aName;
end