Hallöle...
Ich scheitere mal wieder and den einfachsten Sachen.
Projekt Datatabase Events:
1. Trigger erstellt
Code:
create table _Events
(
ID int IDENTITY(1,1) NOT NULL,
EventType int NOT NULL,
EventName nvarchar(30) NOT NULL,
EventCurrentGUID uniqueidentifier NOT NULL,
CONSTRAINT Events_pk PRIMARY KEY CLUSTERED (ID ASC)
)
create index ixEventType on _Events (EventType)
GO
/* Events */
insert into _Events (EventType, EventName, EventCurrentGUID) values (0, 'Complete', NEWID())
GO
/* Trigger*/
create trigger TR_Complete on Complete for insert, update, delete as
begin
update _Events set EventCurrentGUID = NEWID() where EventType = 0
end
GO
2. Trigger getestet - Fehlerfrei -> mit jedem Aufruf eine neue
GUID
Problem:
1. Tabellen Änderung (Tabelle XY) über externen Editor (DBeaver) -> Event wird ausgeführt...ohne Fehler
2. Anwendung mit FireDAC:
-
Jedes Post der Tabelle XY über
Query resultiert im Fehler! (Bild 1)
- Fortsetzen -> Fehler (Bild 2)
Was ich probiert habe:
-> Trigger aus der Tabelle XY raus -> kein Fehler mehr!
-> Beide Tabellen XY und _Events haben einen Primary Key!
Jetzt ist mein Latein am Ende...ich hoffe auf eine Erklärung.
PS: Die Tante ist nicht wirklich gesprächig.
z.B.:
https://stackoverflow.com/questions/...-delphi-10-3-1
...das sieht nicht nach der Problelösung aus, sondern am Herumdoktern an den Symthomen.
Danke...
Nachtrag:
Morgen werde ich das mal probieren:
https://stackoverflow.com/questions/...ith-nocount-on
Update in SP verlagern und NOCOUNT_OFF
...schaun wir mal.
Update:
SET NOCOUNT ON im Trigger scheint es gebracht zu haben. Keine Meldung mehr. Jetzt muß ich noch testen ob das für jeden Trigger gilt oder global. Alternativ SP.