MySQL Script mit MySQL Workbench erstellt
Hallo,
eine Stored Procedure wurde mit dem Tool MySQL Workbench erstellt.
Im Tool läuft die Stored Procedure fehlerfrei ab.
Code:
CREATE DEFINER=`root`@`%` PROCEDURE `insertFiles2`(IN $title varchar(255), IN $dat date, IN $md5file varchar(255), IN $typ varchar(255), IN $mime varchar(255), IN $ext varchar(255), IN $select boolean, OUT $returnValue int)
BEGIN
declare $idExt mediumint;
declare $idMime mediumint;
# Fehlerbehandlung
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
SELECT 'An error has occurred, operation rollbacked and the stored procedure was terminated';
Set $returnValue = -1;
END;
# Check mime-table
set $idExt = (select id from Ext where ext = $ext) ;
start transaction;
begin
if $idExt is null then
insert into Ext (ext) values ($ext);
set $idExt = LAST_INSERT_ID();
end if;
set $idMime = (select id from Mimes where mime = $mime);
if $idMime is null then
insert into Mimes (mime) values ($mime);
Set $idMime = LAST_INSERT_ID();
end if;
if not $idExt is null and not $idMime is null then
insert into Files (title, `date`, md5file, typ, mime_id, ext_id) values ($title, $dat, $md5file, $typ, $idMime, $idExt);
if $select = TRUE then
Select LAST_INSERT_ID() Files_ID;
end if;
end if;
commit;
Set $returnValue = 1;
end;
END
---------------------------------
Diese Stored Procedure wollte ich mit Hilfe von phpMyAdmin in eine andere MySQL Datenbank importieren, die nur über phpMyAdmin administriert werden kann.
Hier werden unzählige Fehler angezeigt.
Z.B.:
declare $idExt mediumint; // Hier wird das $ Zeichen moniert.
Wenn auf die gleiche MySQL DB via phpMyAdmin zugegriffen wird, werden auch die Parameter nicht erkannt, die dem Befehl übergeben werden müssen.
Was funktioniert ist ein simpler Aufruf via Call ...
Kann mir jemand erklären, welche Ursache hier vorliegt?
Ich würde ungerne den Source-Code alles via phpMyAdmin entwickeln müssen.
Vielen Dank im voraus.
|