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