AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Tabellenabfrage in eine neue Tabelle kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellenabfrage in eine neue Tabelle kopieren

Ein Thema von harald71 · begonnen am 19. Jan 2004 · letzter Beitrag vom 19. Jan 2004
Antwort Antwort
harald71

Registriert seit: 15. Sep 2003
Ort: Oberthulba
2 Beiträge
 
#1

Tabellenabfrage in eine neue Tabelle kopieren

  Alt 19. Jan 2004, 10:16
Hallo an alle,

ich hab folgendes Problem. Ich muss meine Anwendung von BDE auf ADS umstellen. Bisher hab ich ein batchmove verwendet, um Daten in eine Tabelle zu verschieben. Jetzt muss ich das ganze anders lösen, da batchmove nicht unterstützt wird.

Ich hab eine Userform, auf den man ein Datumsbereich wählen kann. Über eine Sql-Abfrage filter ich die Daten aus: Select n1, n2, n3 from test where Datum >= von. Jetzt möchte ich eine neue Tabelle erstellen, die oben ermittelten Daten vom Select-Befehl aufnimmt. Leider weiß ich nicht so recht, wie ich es machen soll. Ich hab leider noch keinerlei Ahnung über die Arbeit mit SQL-Querries.

Für schnelle Hilfe wäre ich sehr dankbar.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Tabellenabfrage in eine neue Tabelle kopieren

  Alt 19. Jan 2004, 10:26
Am einfachsten wäre es so:
SQL-Code:
CREATE TABLE NewTest As
  SELECT n1, n2, n3
  FROM test
  WHERE Datum >= :iVonDT
In Delphi sieht das dann so aus:

Delphi-Quellcode:
  Query.Close;
  Query.SQL.Text :=
    'CREATE TABLE NewTest As' + #10 +
    ' SELECT n1, n2, n3' + #10 +
    ' FROM test' + #10 +
    ' WHERE Datum >= :iVonDT';
  Query.Prepare;
  Query.ParamByName('iVonDT').AsDate := DeinDatum;
  Query.ExecSQL;
  Mit Zitat antworten Zitat
harald71

Registriert seit: 15. Sep 2003
Ort: Oberthulba
2 Beiträge
 
#3

Re: Tabellenabfrage in eine neue Tabelle kopieren

  Alt 19. Jan 2004, 10:46
Danke für die schnelle Antwort,

leider bin ich gerade nicht am AP um es zu testen. Eine Frage hab ich aber noch:

Wie kann ich es machen, dass er die Werte in eine schon bestehende Tabelle schreibt? Ich hatte es mal vor ein paar Tagen probiert, hat leider nicht geklappt. Deshalb wollte ich eine neue Tabelle erstellen. Vorhin hab ich erfahren, dass die Tabelle nicht wie bisher gelöscht werden soll, sondern die Datensätze angehängt werden sollen.

Gruß
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Tabellenabfrage in eine neue Tabelle kopieren

  Alt 19. Jan 2004, 11:02
SQL-Code:
INSERT INTO NewTest
  SELECT n1, n2, n3
  FROM test
  WHERE Datum >= :iVonDT
Dabei müssen die Spaltendefinitionen der Abfrage mit denen der Tabelle "kompatibel" sein.
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:38 Uhr.
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