Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensätze von einer Tabelle in eine andere kopieren (https://www.delphipraxis.net/38062-datensaetze-von-einer-tabelle-eine-andere-kopieren.html)

Voltzi 14. Jan 2005 09:19


Datensätze von einer Tabelle in eine andere kopieren
 
Hallo

Habe folgendes Problem:
Ich möchte per SQL Code mehrere Datensätze von einer Tabelle in eine andere Tabelle kopieren. Ich habe zwei DateTimePicker, mit den ich den Zeitraum festlegen kann. Außerdem benutze ich ADO- Querys Nun benötige ich dafür den SQL Code. Bitte deshalb um Hilfe.

Dankeschön im voraus

MFG
Voltzi

sakura 14. Jan 2005 09:25

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Du solltest mal etwas zum Aufbau der Tabellen sagen und uns gleich verraten, um was für eine DB es sich handelt.

...:cat:...

Voltzi 14. Jan 2005 09:31

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Aufbau der Tabellen:
Die Tabellen haben jeweils eine Spalte ID als Auto_Increment, eine Spalte mit dem Datum, wann der Datensatz eingetragen wurde und noch andere Attribute. Die Datensätze aus der einen Tabelle sollen in die andere leere Tabelle kopiert werden.

Es handelt sich um eine MySQL- Datenbank, verwaltet mit phpMyAdmin.

MrSpock 14. Jan 2005 09:36

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Hallo Voltzi,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Grundsätzlich geht das mit INSERT:

SQL-Code:
INSERT INTO newTable
SELECT * FROM oldTable
WHERE (timeFrom >= :timeFrom) AND (timeBis <= :timeBis)

Jelly 14. Jan 2005 09:38

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Gibts den Befehl
SQL-Code:
select into...
bei MySQL :gruebel: Ich glaube nicht, und ich denk somit auch nicht, daß sich das Kopieren so in einem Schritt bewerkstelligen läßt.

Voltzi 14. Jan 2005 09:42

Re: Datensätze von einer Tabelle in eine andere kopieren
 
@ MrSpock
wie muss ich den SQL String jetzt richtig zusammensetzen??

einfach
Delphi-Quellcode:
Query.SQL.ADD('INSERT INTO newTable');
Query.SQL.ADD('SELECT * FROM oldTable');
funktioniert nicht wirklich.

Jelly 14. Jan 2005 09:42

Re: Datensätze von einer Tabelle in eine andere kopieren
 
:thumb: OK, der Code von MrSpock funktioniert... War mir so auch noch nicht bekannt bei MySQL

Sharky 14. Jan 2005 09:44

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Zitat:

Zitat von Voltzi
...funktioniert nicht wirklich.

Was genau funktioniert denn nicht?

MrSpock 14. Jan 2005 09:46

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Hallo Voltzi,

natürlich musst du newTable und oldTable durch die echten Namen der Tabellen ersetzen. Übrigens auch die Feldnamen timeFrom und timeBis. :mrgreen:

Jelly 14. Jan 2005 09:47

Re: Datensätze von einer Tabelle in eine andere kopieren
 
Zitat:

Zitat von Voltzi
funktioniert nicht wirklich.

Das liegt bei dir wohl daran, daß durch ein
SQL-Code:
select *...
die ID Spalte mit berücksichtigt wird. Das klappt aber nicht weil du in der neuen Tabelle sicherlich auch einen Primärschlüssel definiert hast, und du so womöglich Probleme bekommst... Lasse also einfach die ID Spalte weg, etwa so:
SQL-Code:
insert into NewNamen (Name,Vorname)
select Name, Vorname from Namen
In Delphi führst du den Befehl dann mit
Delphi-Quellcode:
Query.ExecSQL ;
aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz