Einzelnen Beitrag anzeigen

nachtstreuner60

Registriert seit: 15. Jan 2007
Ort: Eisenach
54 Beiträge
 
Delphi 7 Professional
 
#1

SQL Datensätze von einer Tabelle in eine andere Tabelle kopieren

  Alt 8. Okt 2010, 10:37
Datenbank: SQL SERVER 2008 • Version: 2008 • Zugriff über: ADO
Hallo Delphi-Spezialisten,

ich habe eine Datenbank in der sich 4 Tabellen befinden:

PRODUKTE ist gefüllt ca. 15.000 Datensätze
PRODUKTE_01 identisch wie Produkte aber leer
PRODUKTE_02 identisch wie Produkte aber leer
PRODUKTE_03 identisch wie PRODUKTE aber leer

Mit INSERT into ...SELECT from WHERE... möchte ich nun alle Datensätze der Tabelle PRODUKTE in die TABELLE Produkte_01 kopieren.

Bei der Ausführung des Select-Statements wird aber nur der erste Datensatz kopiert !!

Hier mal der Quell-CODE :
Code:
//==============================================================================
// DATENBANK sichern
//==============================================================================
Procedure Tform1.DB_SICH;
begin
   Showmessage(IntToStr(BACKZAHL));
   if BACKZAHL = 1 then begin
      // leere die BACKUP-DB Nr. 1
      ADOQueryMetro.SQL.Clear;
      ADOQueryMetro.SQL.Text := 'TRUNCATE table dbo.PRODUKTE_01';
      ADOQueryMETRO.ExecSQL;

      SHowmessage('DB leer');
      // Füge Datensätze an
      ADOQueryMETRO.SQL.Clear;
      ADOQueryMETRO.SQL.Text := 'INSERT INTO PRODUKTE_01 '+
          '(EAN_NR, ART_NR, ART_BEZ_ALTERN, PWHG, PWG, PWUG, KZ_WERB) '+
          ' SELECT EAN_NR, ART_NR, ART_BEZ_ALTERN, PWHG, PWG, PWUG, KZ_WERB'+
          ' FROM PRODUKTE Where EAN_NR <> '+ QuotedStr('');
      ADOQueryMETRO.ExecSQL;

      Showmessage('tabelle kopiert');
   end;
end;
Hat jemand eine IDEE ??

Vielen dank schonmal im voraus
  Mit Zitat antworten Zitat