Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Löschen eines Datensatzes verhindern

  Alt 3. Apr 2020, 11:13
wir machen das meistens mit einem trigger, der eine exception auslöst


CREATE OR ALTER trigger angebot_bd0 for angebot
active before delete position 0
AS
begin
if (upper(coalesce(old.txt,''))<>'LOESCHEN') then
exception error '#BRPMSG#Löschen nur dann möglich, wenn im Angebot in der Bezeichnung LOESCHEN steht#BRPEND#';
end

wenn jemand das in der Applikation probiert, geht das eben nicht versehentlich, aber wenn es aus welchen gründen
auch immer wirklich mööglich sein soll, dann muss er vorher das txt feld ändern jund dann geht das.

weil das ein trigger ist, funtkioniert das auch kascadierung, hat schon häufiger mal verhindert, das jemand
was versehentlich löscht

Technisch kannst du die Änderung ähnlich auch aus deiner Applikation via TDataset auslösen, aber das
könnte dann seltsam reagieren
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat