2 Inserts in einem Rutsch mit Daten aus 1.Insert
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21214
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
2 Inserts in einem Rutsch mit Daten aus 1.Insert
Ich möchte gerne in einem Rutsch 2 Inserts machen in 2 verschienden tabellen.
1) einen neuen Satz anhängen in Tabelle A, der mit einer Auto-ID angefügt wird.
2) einen neuen Protokollsatz anhängen in Tabelle B, der die ID des vorher angelegten Satzes aus TAbelle A darin speichert.
Wie komme ich an Die ID des neuen Satzes in Tabelle A?
1) einen neuen Satz anhängen in Tabelle A, der mit einer Auto-ID angefügt wird.
2) einen neuen Protokollsatz anhängen in Tabelle B, der die ID des vorher angelegten Satzes aus TAbelle A darin speichert.
Wie komme ich an Die ID des neuen Satzes in Tabelle A?
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!!
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: 2 Inserts in einem Rutsch mit Daten aus 1.Insert
Trigger...der neue Datensatz steht in __new:
Code: Alles auswählen
create trigger ins_log on mytable after insert
begin
insert into log select id, now(), user(), 'insert' from __new;
end;
- Marcus Herz
- 1000 working lines a day
- Beiträge: 860
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 196 Mal
- Kontaktdaten:
Re: 2 Inserts in einem Rutsch mit Daten aus 1.Insert
oder wenn kein Trigger erwünscht, also 2 getrennte INSERT
Code: Alles auswählen
declare @id integer;
insert into ....;
// @id ist die zuletzt vergebene AUTOINC
@id = (select lastautoinc(statement) from system.iota);
insert into ....
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: 2 Inserts in einem Rutsch mit Daten aus 1.Insert
Bei 2 Insert aber auf jeden Fall mit Transaktionen arbeiten, damit keine Dateninkonsistenz eintreten kann.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Manfred
- Foren-Administrator
- Beiträge: 21214
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: 2 Inserts in einem Rutsch mit Daten aus 1.Insert
wobei ich ja der meinung bin, das bei Transaktionen entweder alles oder gar nichts gespeichert wird!?
das ist mein script
und da war ein Fehler drin im 2. Insert und es wurde auch nichts gespeichert, weder der 1. noch der 2. Insert. Ich dachte es würde nur der Befehl nicht ausgeführt, der falsch ist....
das ist mein script
Code: Alles auswählen
INSERT INTO schultraeger (id,nummer,bez,strasse,plz,ort,telefon,mail,rechnungschule,rechnungtraeger)
VALUES ('{#id#}','{#nummer#}','{#bez#}','{#strasse#}','{#plz#}','{#ort#}','{#telefon#}','{#mail#}',{#rechnungschule#},{#rechnungtraeger#});
INSERT INTO history (idsatz,programmteil,username,artdesvorgangs) VALUES ('{#id#}','schultraeger','{#username#}','neuer Satz')
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!!
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: 2 Inserts in einem Rutsch mit Daten aus 1.Insert
So ist es meines Erachtens auch.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: 2 Inserts in einem Rutsch mit Daten aus 1.Insert
nur nicht, wenn er im gesamten übergebenen script einen Syntax-Fehler hat. Dann wird nichts gemacht, aber ein Fehler zurückgeliefert. Einfach mal im Architect probieren .... und in der Anwendung IMMER! (und nochmal !!!!!) die Rückgabewerte prüfen.