Veröffentlicht 19. März 200916 j Ich möchte eine komplette Spalte (mit den enthaltenen Daten) in eine andere Tabelle zu verschieben. Ist das möglich? Beide Tabellen liegen auf der gleichen Datenbank. Ich verwende MS SQL Server 2005.
19. März 200916 j Ich sehe da keine Probleme: Spalte anlegen, Daten mit select und insert übernehmen, Spalte löschen Phil
19. März 200916 j Ich möchte eine komplette Spalte (mit den enthaltenen Daten) in eine andere Tabelle zu verschieben. Ist das möglich? Beide Tabellen liegen auf der gleichen Datenbank. Ich verwende MS SQL Server 2005. ja - Neues Attribut in Zieltabelle erstellen (Dies ist Oracle Syntax...aber sollte nicht allzu schwirig sein, dies anzupassen....: ALTER TABLE Zieltabelle ADD ( NeuesFeld VARCHAR2 (20) ) / - Kopieren der Werte aus der Sourcetable in die Zieltabelle UPDATE Zieltabelle SET NeuesFeld =Select AltesFeld from Sourcetable where Sourcetable.id=Zeiltable.id Gruss
19. März 200916 j Danke für die schnellen Infos. Mit folgender Query hat es funktioniert: INSERT INTO Buchungen (ID, CheckIn, CheckOut) SELECT ID, CheckIn, CheckOut FROM Personen Eigentlich wollte ich nur die Spalten CheckIn & CheckOut verschieben, jedoch traten dadurch wieder Probleme mit der NULL-Behandlung in der ID-Spalte meiner Zieltabelle (Buchungen) auf. So hab' ich jetzt eben meine IDs auch noch mitverschoben. Lässt sich das auch vermeiden?
19. März 200916 j Danke für die schnellen Infos. Lässt sich das auch vermeiden? - Ich weiss es nicht, diese Frage kannst nur du beantworten ? Sind die ID's als PK definiert ? Dann wirst du : - Entweder die ID's mitnehmen müssen - oder auf der Zieltabelle neu generieren lassen Ist die ID in der Zieltabelle der FK auf die Sourcetabelle, dann musst du sie natürlich mitnehmen. (Im übrigen dachte ich, dass die Daten auf der zieltabelle schon existieren, deswegen das UPDATE-Statement.... Gruss
19. März 200916 j - oder auf der Zieltabelle neu generieren lassen weißt Du vielleicht wie man das in der Query macht? (Im übrigen dachte ich, dass die Daten auf der zieltabelle schon existieren, deswegen das UPDATE-Statement.... Nein, die Daten sollen ebenfalls aus der Spalte, die ich verschiebe, mit übernommen werden!
19. März 200916 j weißt Du vielleicht wie man das in der Query macht? - Jein...In Oracle schon :-) . Aber das hilft dir eher nicht... Gruss
19. März 200916 j Naja, die obige Oracle-Syntax hat mich schon etwas weitergebracht. Einen Versuch ist es also Wert
19. März 200916 j Naja, die obige Oracle-Syntax hat mich schon etwas weitergebracht. Einen Versuch ist es also Wert Ja bitte, kein Problem (Ich glaube aber zu wissen, das MSSQL dies nicht so unterstützt, aber eben.... CREATE SEQUENCE mySequence INCREMENT BY 1 START WITH 1 MINVALUE 1 MAXVALUE 999999999999999999999999999 NOCYCLE NOORDER CACHE 20 / INSERT in myTable (ID,Attribute1,Attribute2,xxxxx) VALUES (mySequence.Nextval,'Value1','Value2',xxxx) / COMMIT; Gruss
19. März 200916 j Ok, Du hattest recht...das ist doch ganz anders als bei MS SQL. Aber egal, inzwischen hat's mit folgender Query funktioniert. ALTER TABLE Buchungen ADD ResNr Integer Primary Key Danke für die Unterstützung!
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.