Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst In MySQL Variableninhalt zu Spaltendefinition machen

Mitglied: lupi102

lupi102 (Level 1) - Jetzt verbinden

28.03.2013, aktualisiert 10:26 Uhr, 1229 Aufrufe, 2 Kommentare

Hallo alle,

Ich habe eine Tabelle "messzähler" in der u.a. gespeichert wird, wann ein bestimmtes Bauteil gemessen wird. Da jedoch projektspezifische Anpassungen erfolgen müssen, will ich diese Daten in eine separate Tabelle "specials" auslagern und sie anschließend mittels JOIN wieder verbinden. Bis hierhin kein Problem, aber: eine Abfrage von messzähler in Verbindung mit specials gibt logischerweise soviele Zeilen aus wie betreffende Zeilen in specials vorhanden sind. Das will ich so aber nicht. Ich möchte, dass alles in einer Zeile steht.
Dazu dachte ich eine temporäre Tabelle zu erstellen, in der Zellinhalte (z.B.: Lieferdatum) zur Spaltendefinition in einem "ALTER TABLE" Statement werden.
Mein Weg im Moment ist:

CREATE PROCEDURE JoinMzAndSpecials(inlfdnr MEDIUMINT) -- inlfdnr ist die laufende Bauteilnummer
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE spalte VARCHAR(45);
DECLARE cur1 CURSOR FOR SELECT name FROM specials WHERE lfdnr=inlfdnr;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

CREATE TABLE temp (dkwnum VARCHAR(13),
lfdnr INT,
messdat DOUBLE,
fertdat INT,
liefdat INT) ENGINE=MEMORY;

OPEN cur1;

REPEAT
FETCH cur1 INTO spalte;

IF NOT done THEN
ALTER TABLE temp ADD spalte VARCHAR(45);
END IF;
UNTIL DONE
END REPEAT;
END
$$

Das Problem hierbei ist, dass 'spalte' als Spaltenbezeichner angesehen wird, sodass 'spalte' zur Tabelle hinzugefügt wird, was bei mehrfachem Durchlauf der REPEAT- Schleife natürlich nicht funktioniert.
Wie kann ich 'spalte' so umbiegen, dass der Variableninhalt als Spaltenbezeichner verwendet wird?

Grüße
Heiko
Mitglied: SlainteMhath
28.03.2013 um 11:21 Uhr
Moin,

versuch's mal hiermit:
01.
SET @s = CONCAT('ALTER TABLE temp ADD', spalte, ' VARCHAR(45); ');  
02.
PREPARE stmt1 FROM @s;  
03.
EXECUTE stmt1;  
04.
DEALLOCATE PREPARE stmt1; 
lg,
Slainte
Bitte warten ..
Mitglied: lupi102
28.03.2013 um 11:30 Uhr


Funktioniert!

Danke
Heiko
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch mehrmals durchlaufen, immer mit anderem Variableninhalt

gelöst Frage von Winfried-HHBatch & Shell2 Kommentare

Hallo in die Runde! Wie kann ich eine Batch mehrfach durchlaufen, und zwar mit einer Parameterliste. Soll heißen: Parameterliste: ...

Datenbanken

MySQL Profiler - MySQL Profiling

Frage von fckoelleDatenbanken

Hallo zusammen, ich möchte zu Analysezwecken gerne herausfinden welche Befehle auf einen MySQL Server abgesetzt werden. Von Microsoft kenne ...

Datenbanken

CURDATE() MySQL

gelöst Frage von ThoomaasDatenbanken1 Kommentar

Hallo alle zusammen, ich habe das Problem, dass wenn ich eine Abfrage aus einer DB mache mit dem String ...

Webentwicklung

Mysql cluster

Frage von woidl85Webentwicklung

hallo zusammen, ich bin auf der suche nach einer mysql cluster lösung aus 2 nodes welche bei möglichkeit mit ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 4 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 16 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 18 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 18 StundenMicrosoft11 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server31 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...