Procedure mit MySQL für Windows

Diesen Insert-Befehl hätte ich gern in einer Prozedur. Hab ihn schon mit und ohne Hochkommas ausprobiert. Input-Parameter auch schon weggelassen. MySQL bringt stehts einen Fehler beim Speichern der Prozedur. Gebe ich den Befehl normal unter SQL ein, führt MySQL ihn tadellos aus.
Kann hier jemand helfen???

INSERT INTO tmpbestellungen
(spalte,userid,menge)
SELECT spalte,userid,menge
FROM bestellungen

Hi!

Ich hab absolut keine Ahnung von MySQL, aber _nur_ Hochkomma werden nicht reichen, wenn nicht davor ein „create procedure“ oder sowas ähnliches kommen würde.

Unter Oracle würde ich ein

create or replace procedure IRGENDEIN\_SCHLAUER\_NAME as
begin
INSERT INTO tmpbestellungen
(spalte,userid,menge)
SELECT spalte,userid,menge
FROM bestellungen;
end;
/

Exception-Haindling und Commits/Rollbacks habe ich mir hier mal erspart.

Grüße,
Tomh

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

bei mir geht das so

CREATE PROCEDURE myproc()
INSERT INTO tmpbestellungen (spalte,userid,menge) SELECT spalte,userid,menge FROM bestellungen;

ohne probleme :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Tomh,
die Zeilen Create Procedure BestUebertragen habe ich weg gelassen. Die gehört logischerweise dazu. Bei Check meckert MySQL den Insert-Befehl an, deswegen habe ich nur diesen hier abgebildet.

Bin ja auch nicht unerfahren beim Thema SQL. Habe schon mit MS SQL Server gearbeitet. Da werden keine Hochkommas usw. benötigt.

Trotzdem Dank für die Antwort.

EPa

Hi,

der einzige Unterschied zwischen deiner und meiner Anweisung ist das abschließende Semikolon. Habs eingefügt. Jetzt kompiliert und speichert MySQL. DANKE.

EPa

Ja :smile: das problem mit dem delimitern …

http://dev.mysql.com/doc/refman/5.0/en/create-proced…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]