Ich bekomme einige SQL-Syntaxfehler, wenn ich versuche, eine einfache MySQL-Funktion Abfrage erstellen. Dies ist die Abfrage, die ich auf MySQL versucht habe. Dies funktioniert mit DB2. Ich möchte es auf MySQL ausführen.SQL-Syntaxfehler während einer Funktion erhalten Erstellen auf Jboss
CREATE FUNCTION MAC_ADDR
(
IN M BIGINT
) RETURNS VARCHAR(17)
LANGUAGE SQL
DETERMINISTIC
NO EXTERNAL ACTION
READS SQL DATA
BEGIN
DECLARE TMP BIGINT;
DECLARE RESULT VARCHAR(17) DEFAULT '';
DECLARE B INTEGER;
DECLARE I INTEGER DEFAULT 0;
IF (M IS NOT NULL AND M > 0) THEN
SET TMP = M;
LOOP
IF I > 0 THEN
SET RESULT = ':' || RESULT;
END IF;
SET RESULT = SUBSTR(HEX(BITAND(TMP, 15)), 2, 1) || RESULT;
SET RESULT = SUBSTR(HEX(BITAND((TMP/16), 15)), 2, 1) || RESULT;
SET TMP = TMP/256;
SET I = I + 1;
IF (I > 5) THEN
RETURN UPPER(RESULT);
END IF;
END LOOP;
END IF;
RETURN '00:00:00:00:00:00';
END;
auf dem Server Nach dem Ausführen, ich bin nach immer Fehler
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 'IN M BIGINT)
RETURNS VARCHAR(17)
LANGUAGE SQL
DETERMINISTIC
NO EXTERN' at line 1
ist IN M BIGINT
in MySQL? Irgendeine Syntax, die ich vermisse? Bitte vorschlagen .
Vielen Dank für Ihren Vorschlag und Ihre Antwort. –