mySQL 5.5 - Table dynamisch kopieren

oliverb

Mitglied
<CODE/>
CREATE DEFINER=`PROCEDURE `COPY_Table`(IN `name` VARCHAR(20) CHARSET utf8)
BEGIN
CREATE TABLE `TMP_` . name LIKE name;
ALTER TABLE `TMP_` . name DISABLE KEYS;
INSERT INTO `TMP_` . name SELECT * FROM name;
ALTER TABLE `TMP_` . name ENABLE KEYS;
END
</code>

Hat jemand hierzu bitte eine Idee bzw. einen Hinweis warum die Prozedur nicht das macht was sie soll? Ich möchte einen Table einfach nur kopieren und TMP Table mit den Daten des originalen Tables befüllen. Da ich nicht für jeden Table eine eigene Prozedur erstellen will, möchte ich das als Prozedur dynamisch lösen...

<CODE>
CALL `COPY_Table`(table_name);
<CODE/>
 
Hi oliverb,

du sagst, die Prozedur macht nicht was sie soll. Was du vor hast, hast du ja gut beschrieben, aber was ist genau dein Fehler, also, was macht die Prozedur momentan?

Gruß
Daniel
 
#1054 - Unknown column 'table_name' in 'field list'

Er übernimmt meine IN Variable nicht. Dort übergebe ich ja den Tabellenname der durch die Prozedur kopiert werden soll. Daher scheint es wohl Probleme mit der Zuweisung der Variable innerhalb der Prozedur zugeben. Es ist etwas an der Syntax falsch. Ich weis nur leider nicht wie ich das korrigieren kann bzw. was noch fehlt.
 

Neue Beiträge

Zurück