ich muß aus einer Textdatei Daten in eine Tabelle importieren.
Die Textdatei ist so aufgebaut, das der erste Satz die DAten eine Mastertabelle enthält und dann 2-3 weitere Sätzen kommen können, die Werte für eine Kinddatei enthalten. Die masterdatei hat eine UUID, die automatisch vom ADS vergeben wird, wenn der Satz angehängt wird. Diese ID benötige ich aber dann um die weiteren Sätze in der Kinddatei zu speichern als Zuordnung für die Vaterdatei. Aber wie komme ich an die ID dran, die kennt ja wohl nur in dem Moment der ADS wenn gespeichert wird, aber dann ist sie ja in der Tabelle. Und den jeweils letzten angehängten Satz anspringen und auslesen geht ja wohl nicht, oder?
Die Übernahme programmiere ich in xBase++ und mit entsprechenden SQL Befehlen. Also Durchlauf und einlesen der Textdatei in xBase++ Speichern mit SQL Befehlen.
Inhalte eines INSERT
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21165
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 206 Mal
- Danksagung erhalten: 67 Mal
Inhalte eines INSERT
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Marcus Herz
- 1000 working lines a day
- Beiträge: 851
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Inhalte eines INSERT
es gibt 2 Lösungsansätze:
1. du holt dir die ROWID des letzten Satzes und dessen UUID
oder du erzeugst vorher die UUID und übergibst sie dem insert
1. du holt dir die ROWID des letzten Satzes und dessen UUID
Code: Alles auswählen
declare @rowid char(18);
declare @uuid char(16);
insert ....
// die row id des letzten inserts
@rowid = (select lastrowid() from system.iota);
// das ist die UUID des letzten Satzes
@uuid = (select uuidfield from tabelle where rowid = @rowid);
Code: Alles auswählen
declare @uuid char(16);
@uuid = newid();
insert into tabelle (uuidfield, .....) values (@uuid, ....);
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast