2016-07-29 5 views
0

Unter MySQL-Prozedur-Code Flags Fehler in Zeile 1. Wenn ich die Argumente der unten gespeicherten Prozedur entfernt, kompiliert es fein. leer MySQL gespeicherte Prozedur nicht kompiliert


DELIMITER $$ 
CREATE PROCEDURE test.USER_INPUT(@TITLE VARCHAR(20), @SEVERITY INT, @CLOSEDATE DATETIME) 
BEGIN  
END 
DELIMITER ; 

was in dem obigen Code falsch? Wo ist das Problem genau?

Antwort

1

Es gibt zwei Probleme:

  1. Sie @ ein Trennzeichen nach END
  2. Ihre Parameternamen enthalten in einem ungültigen Zeichen fehlt. Geben Sie entweder die Spaltennamen an, wenn Sie die @ beibehalten oder entfernen möchten.

Was funktioniert ist:

DELIMITER $$ 
CREATE PROCEDURE test.USER_INPUT(TITLE VARCHAR(20), SEVERITY INT, CLOSEDATE DATETIME) 
BEGIN  
END$$ 
DELIMITER ; 

Auch die Datenbank stellen Sie sicher, test existiert.

+0

eigentlich möchte ich das Verfahren Benutzereingaben zu nehmen. d.h. das Zeichen '@'. Ich habe versucht, das mit dem Trennzeichen zu tun, konnte es aber nicht. Weißt du wie du das erreichen kannst? – Prakash