![]() |
Datenbank: MySQL • Version: kA • Zugriff über: SQL
Insert in Tabelle mit unterschiedlichen Spalten
Hallo ihr da draußen :D
ich hab ein Problem und hoffe ich kann es so deutlich beschreiben, dass ihr mich versteht. Und zwar folgendes: Ich habe 2 Tabellen, diese besitzen fast identische Spalten. Also Datentyp & Bezeichner. Nun möchte ich die kompletten Datensätze der Tabelle A in die Tabelle B schreiben. Das Problem dabei ist, das die Spalte die in der Tabelle A nicht existiert dann Probleme macht. Also nochmal zur Verdeutlichung: Tabelle A: [Spalte XXX - Int] [Spalte YYY - smallInt] [Spalte ZZZ - varchar(3)] Tabelle B: [Spalte XXX - Int] [Spalte YYY - smallInt] [Spalte AAA - smallint] [Spalte ZZZ - varchar(3)] Mein bisheriger Ansatz ist folgender:
Code:
Ich bräuchte also einen Ansatz wie ich prüfen kann, dass die Spalte aus Tabelle A in genau die gleichnamige Spalte von Tabelle B geschrieben wird und somit die Spalte, die in Tabelle A nicht existiert "übersprungen" wird.
INSERT INTO Tabelle A
SELECT * FROM Tabelle B |
AW: Insert in Tabelle mit unterschiedlichen Spalten
Anstelle des * die Spalten aufführen, die Du übernehmen möchtest?
|
AW: Insert in Tabelle mit unterschiedlichen Spalten
Erstmal Danke für die schnell Antwort, aber das Problem ist, dass diese unterschiedlich sein können.
Also es steht nicht immer fest, dass genau diese Spalte in Tabelle A nicht existiert und das ganze Statement soll dynamisch laufen. Ich bräuchte also einen Denkanstoß wie ich prüfen kann, dass die Werte der Spalten aus Tabelle A genau in die Spalten der Tabelle B geschrieben werden. |
AW: Insert in Tabelle mit unterschiedlichen Spalten
So einfach über ien Insert-Statement wirst Du das wohl nicht hinbekommen.
|
AW: Insert in Tabelle mit unterschiedlichen Spalten
Bin mir nicht sicher, ob ich Deine Aufgabenstellung richtig verstehe:
Du suchst ein Statement, das für beliebige Tabellen die Daten in beliebige Tabellen kopieren kann, bei denen die Tabellenstruktur beliebig ähnlich oder auch beliebig unterschiedlich sein kann, aber gewisse Ähnlichkeiten im Tabellenaufbau und bei den Datentypen in der Regel vorhanden sein können? (Ist jetzt vermutlich überspitzt formuliert, aber trifft das so inetwa zu?) Hilft Dir eventuell das ![]() |
AW: Insert in Tabelle mit unterschiedlichen Spalten
Genau, es sind immer 2 Tabellen die sich in gewisser Weise ähneln. Also anhand von Spaltenbezeichnern und Datentyp. Doch es kann vorkommen, dass in der Tabelle in die eingefügt werden soll Spalten existieren die in der anderen nicht existieren also muss irgendwie geprüft werden das die Werte der Spalten in die dafür vorgesehene, identische Spalte geschrieben werden.
Ich werd' mir das mal anschauen, danke ! |
AW: Insert in Tabelle mit unterschiedlichen Spalten
Ich machs (oft) über ein
Code:
und geh dann durch die Spaltenliste um den Namen und den Typ abzufragen.
select 1 = 2 from <tabelle>
|
AW: Insert in Tabelle mit unterschiedlichen Spalten
Zitat:
Delphi-Quellcode:
select * from <tabelle> where 1 = 2
|
AW: Insert in Tabelle mit unterschiedlichen Spalten
Zitat:
Wieso gibts in DP-Editor keine SQL-Syntax-Check :stupid: |
AW: Insert in Tabelle mit unterschiedlichen Spalten
Einen SQL-Syntax-Check gibt es nicht, aber einen SQL-Syntax-HighLighter:
SQL-Code:
vs.
select 1 = 2
from <tabelle>
SQL-Code:
Da fällt das schon eher ins Auge ;)
select *
from <tabelle> where 1 = 2 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz