Hallo,
Zitat von
haentschman:
Was ist mit dir los? Gleich die Flinte ins Korn werfen wenn etwas nicht auf Anhieb funktioniert.
Ich habe leider nicht immer so viel Zeit zur Verfügung,weil ich dies noch neben meiner regulären Arbeit mache.
Hab mal ein bißchen herumexperimentiert und folgendes herausgefunden.
Wenn ich meine originale Insert-Anweisung so in das
SQL-Fenster in der Datenbank direkt eintrage,funktioniert es so,wie es sein soll.
Nur müßte ich dann immer von Hand den Zähler setzen und dies möchte ich ja durch eine Schleife ersetzen.
Dies hier ist nur ein Beispiel zu meinem Original,aber identisch.
SQL-Code:
insert into datenbank_neu.Tabelle5 (spalte1,spalte2,spalte3)
select spalte5,0,spalte12
from datenbank_alt.Tabelle20 where datenbank_alt.Tabelle20.reihenfolge = 5
insert into datenbank_neu.Tabelle42 (spalte1)
select spalte5
from datenbank_alt.Tabelle47 where datenbank_alt.Tabelle55.reihenfolge = 5
Ich habe mir auch das mit SQLStoredProc durchgelesen,aber so richtig klar komme ich damit nicht.
Müßte dies dann so aussehen???
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var z : Integer;
begin
for z := 5 to 10 do
begin
SQLStoredProc.Close;
SQLStoredProc.CommandText :=
'insert into datenbank_neu.Tabelle5 (spalte1,spalte2,spalte3)' +
'select spalte5,0,spalte12' +
'from datenbank_alt.Tabelle20 where datenbank_alt.Tabelle20.reihenfolge =' + IntToStr(z)+';';+
'insert into datenbank_neu.Tabelle42 (spalte1)' +
'select spalte5 ' +
'from datenbank_alt.Tabelle47 where datenbank_alt.Tabelle55.reihenfolge =' + IntToStr(z)+';';
SQLStoredProc.ExecProc;
Die Verbindung zur Datenbank stelle ich über einen separaten Button her,bevor ich den Button4 anklicke und die Anweisung ausführe.
Gruß AnfängerDelphi