Forum: Datenbanken
Delphi
by Blup,
4. Dez 2009
In der Lock-Tabelle steht immer was drin, das heist es wird nichts gelöscht.
Das Dummy-Update kann für einen bestimmten Datensatz nur einmal gemacht werden (jeder Datensatz repräsentiert eine Tabelle oder ein anderes Objekt das geschützt werden soll). So lange die Transaktion noch läuft, kann innerhalb einer anderen Transaktion der selbe Datensatz in T_LOCK nicht verändert werden. Der Trigger...
Forum: Datenbanken
Delphi
by Blup,
4. Dez 2009
Eine Möglichkeit wäre, den Schreibzugriff nur einer Transaktion zu gestatten:
CREATE TABLE T_LOCK (
LOCKEVENT VARCHAR(40) NOT NULL
);
ALTER TABLE T_LOCK ADD CONSTRAINT PK_LOCK PRIMARY KEY (LOCKEVENT);
SET TERM ^ ;
create procedure P_LOCK (
Forum: Datenbanken
Delphi
by Blup,
4. Dez 2009
Das Select in CK_tabelle findet nur Datensätze, die in der aktiven Transaktion sichtbar sind.
Deshalb ist es im Ausnahmefall doch noch möglich überschneidende Zeiträume zu erfassen:
Transaction1.Start;
Transaction2.Start;
innerhalb von Transaktion1:
insert into tabelle
(id, von, bis)
values