Hallo MrSpock!
Ich hatte leider die letzten Tage dann plötzlich eine andere Aufgabe die unbedingt zwischen durch erledigt werden musste, so dass ich erst heute hier wieder rein geschaut habe! Also meine
SQL-Statements sind folgende:
Delete:
SQL-Code:
delete STM_VERTRAG
where VERTRAGS_ID = :VERTRAGS_ID
Insert:
SQL-Code:
insert STM_VERTRAG( VERTRAGS_ID, VERTRAGSART, BEZEICHNUNG, BEGINN, ENDE, BEMERKUNG)
values ( :VERTRAGS_ID, :VERTRAGSART, :BEZEICHNUNG, :BEGINN, :ENDE, :BEMERKUNG)
Modify:
SQL-Code:
update STM_VERTRAG
set VERTRAGSART = :VERTRAGSART,
BEZEICHNUNG = :BEZEICHNUNG,
BEGINN = :BEGINN,
ENDE = :ENDE,
BEMERKUNG = :BEMERKUNG
where VERTRAGS_ID = :VERTRAGS_ID
PRIMARY KEY der Tabelle ist das Feld VERTRAGS_ID und sowohl das INSERT- als auch das UPDATE-Statement lassen sich beim
SQL-Monitor eindeutig indentifizieren (zusätzliche Kommentare). Achso zur Info, die Tabelle STM_VERTRAG ist die Basistabelle (FOREIGN KEY) für eine weitere Tabelle. Die Daten dieser Tabelle lasse ich in der selben Maske darstellen und nutze die Delphi-Synchronisation (Datasource-Eigenschaft der abhängigen Tabelle verweist auf STM_VERTRAG). Im endgültigen Delete Statement muss ich also auch noch das löschen dieser abhängigen Tabelle unterbringen. Allerdings habe ich jetzt im Rahmen der Test immer nur versucht DS zu löschen, wo der Schlüssel nicht in der abhängigen Tabelle in Benutzung war.
Ich hoffe ich konnte jetzt alles vernünftig erklären und irgendjemand kann mir helfen. Ansosnsten bleibt mir wohl nichts anderes übrig und ich muss das komplette Handling der Datensätze doch wieder "händisch" programmieren!
MfG
-jryan