1 Pluspunkt 0 Minuspunkte

Wie kann ich eine MySQL Funktion schreiben die Parameter entgegennimmt? Ich habe diesen Code

DELIMITER //
CREATE FUNCTION addiere(INT a, INT b) 
RETURNS INT
BEGIN
    DECLARE summe INT;
    SET summe = a + b;
    RETURN summe;
END;
DELIMITER ;

aber Mysql gibt diesen Fehler aus:

Statische Analyse:

2 Fehler wurden während der Analyse gefunden.

    Unerkannter Datentyp. (near "a" at position 28)
    Unerkannter Datentyp. (near "b" at position 35)

SQL-Befehl:

CREATE FUNCTION addiere(INT a, INT b) RETURNS INT BEGIN DECLARE summe INT; SET summe = a + b; RETURN summe; END;

MySQL meldet: Dokumentation
#1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei 'INT a, INT b)
RETURNS INT
BEGIN
    DECLARE summe INT;
    SET summe = a + ' in Zeile 1

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Bei der Angabe der Parameter wird der Variablennamen vor dem Datentyp angegeben. Statt "add_numbers(INT a, INT b)" sollte es "add_numbers(a INT, b INT)" sein.

DELIMITER //

CREATE FUNCTION add_numbers(a INT, b INT)
  RETURNS INT
BEGIN
  DECLARE result INT;
  SET result = a + b;
  RETURN result;
END //

DELIMITER ;

von (532 Punkte)