Ich habe versucht, viele der Themen schon durchzusehen und keinen Erfolg, wenn herauszufinden, was ist falsch mit meiner Syntax. Ich versuche, den eindeutigen Wert eines Table-and-Loop-Einschubs in eine andere Tabelle zu übernehmen, während die ID auto_incrementing ist. Hier ist, was ich bisher habe und ich kann nicht herausfinden, was ich falsch mache. Ich habe 2 Prozeduren geschrieben. Sie arbeiten beide, tun es aber nicht.Wie Einfügen und Aktualisieren in Cursor-Schleife mit Auto_increment
Vielen Dank für Ihre Hilfe!
Grundsätzlich versuche ich, von einer Tabelle in eine andere Tabelle einzufügen, und verwenden Sie die AUTO_INCREMENT, um meine Build-ID zu generieren. Die Tabelle I füllen wollen, ist:
permits.build_type
build_id INT PK
build_desc VARCHAR(200)
und der Code ist:
DELIMITER //
CREATE PROCEDURE building_list()
BEGIN
DECLARE output VARCHAR(200);
DECLARE my_cursor CURSOR FOR
SELECT DISTINCT BUILDING_TYPE
FROM permits.edmonton_upto_10may2016_mostly_text;
OPEN my_cursor;
BEGIN
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
LOOP
FETCH my_cursor INTO output;
INSERT INTO permits.build_type (build_desc) VALUES (output);
UPDATE permits.build_type SET build_id = LAST_INSERT_ID();
END LOOP;
END;
CLOSE my_cursor;
END//
Hallo ja, vielen Dank! Wie albern die Antwort ist so einfach .... Ich Gesicht völlig palmed, wenn ich Ihre Antwort lesen ... – Erilyn
froh, von Hilfe gewesen zu sein – e4c5