Хранимая процедура 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
Другие вопросы по тегам