AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism [SQL] Datensatz kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] Datensatz kopieren

Ein Thema von Nersgatt · begonnen am 3. Dez 2008 · letzter Beitrag vom 4. Dez 2008
 
nahpets
(Gast)

n/a Beiträge
 
#4

Re: [SQL] Datensatz kopieren

  Alt 3. Dez 2008, 13:38
Hallo,

kenne Firebird nicht.

Bei Oracle oder SQL-Server täte ich ins Dictionary schauen und mir dort aus den Einträgen zur Laufzeit das passende Statement bauen, mit Ausnahme der Spalten, bei denen ich selbst was ändern möchte.

Unter SQL-Server könnte das ungefähr so aussehen:

SQL-Code:
select 'insert into tabelle (ID '
union all
select ' ,' + column_name from information_schema.columns where table_name like 'tabelleand column_name <> 'ID'
union all
select ') select 4 as ID'
union all
select ',' + column_name from information_schema.columns where table_name like 'tabelleand column_name <> 'ID'
union all
select 'from tabelle where id = 3'
Wenn Du Dir nun das Ergebnis dieses SQL nimmst, solltest Du das Insert-Statement erhalten, das Du wünschst.
SQL-Code:
insert into tabelle (ID
 ,name
 ,vorname
 ,beruf
) select 4 as ID
,name
,vorname
,beruf
from tabelle where id = 3
Und wenn Du neue Spalten in die Tabelle einfügst, so ändert sich das Ergebnis der ersten Abfrage um die entsprechenden Spalten und passt sich somit an Dein geändertes Datenmodell an.

Unter Oracle haben wir mal ein System gebaut, dass permanenten Änderungen des Datenmodells unterworfen war und ist. Diese Routinen sind nun seit etwa 5 Jahren im Einsatz und mussten bisher nicht einmal angepasst werden.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 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-2025 by Thomas Breitkreuz