Daten überschreiben (Insert oder Update)

Mein Problem :
Ich möchte gerne mit einem SQL Befehl,
einen Datensatz in die Datenbank schreiben.

Wenn schon einer mit den gleichen Index vorhanden ist,
soll er Überschieben werden, sonst neu angelegt.

Mit 3 Befehlen ist es kein Problem erst Select,
wenn was gefunden Update oder Insert…

Ist aber mühsam und dauert zu lange.

Gib’s da Möglichkeiten?

Ich programiere mit Delphi 7 und den Zeos-Komponenten

Du könntest folgendes Posting nutzen und umschreiben:
http://ads.wars-nicht.de/blog/archives/11-Avoid-Unique-Key-violation.html

@ads,
Danke, nur brauche ich jetzt immer noch 2 Befehle.

einen wenn nix vorhanden ist, und einen zum überschreiben.

Mit einer Tabelle (TZTable) ist es ganz einfach,
nur nicht so schnell wie ne Querry.

Gibt es denn keinen Befehl wie Overwrite oder so?

Falls es jemand intresiert.

es geht ganz einfach :

Erst die Query öffnen
Select xxx from xxx

if RecordCount > 0 then
begin
Edit;
end
else
begin
Append;
end;
FieldByName (‘xxx’).asXXX := xxx
Post;

das wars