Ich habe einige Zeit an Code gearbeitet, habe aber einige Probleme. Ich habe zwei identische Tabellen - History und Checked_Out_Media - und ich versuche, einen bestimmten Datensatz in Checked_Out_Media aufzunehmen und in die History-Tabelle zu verschieben. Die Primärschlüssel werden nicht automatisch inkrementiert, daher muss ich eine Variable für die maximale History-Tabellen-ID erstellen und sie um eins erhöhen.MySQL-Semikolon-Platzierung in Prozedur
Ich denke, ich habe den Code größtenteils korrekt, möglicherweise einige Simi-Colon-Platzierungen benötigt werden? Kannst du dir das mal ansehen?
Create Procedure spMoveToHistory(IN UserID char(6), IN MediaBarcode varchar(50))
BEGIN
SELECT @NextRow := (MAX(History_TUID) + 1)
From History
Insert into History
Values (@NextRow, COM.User_ID, COM.Media_Barcode, COM.Checked_Out_Date, COM.Return_Date)
From Checked_Out_Media as COM
Where COM.User_ID = UserID
AND (COM.Media_Barcode = MediaBarcode)
END
Außerdem bin ich mit phpMyAdmin, die mir das Trennzeichen festlegen können außerhalb des Codes //.
Vielen Dank im Voraus!
Ihre SELECT- und INSERT-Anweisungen benötigen ein Semikolon am Ende. Siehe MySQL-Dokumente für die CREATE PROCEDURE-Anweisung. – miken32
@ miken32 Ich schätze den Rat sehr. Ich werde es mir ansehen. Ich habe ziemlich viel Programmierung in SQL Server gemacht und ich versuche, MySQL in den Griff zu bekommen - es reißt mich innerlich auf. – FoxDonut