Hallo, Guten Abend, Karl mein Name.
Der String für den Trigger sieht so aus, wie weiter unten gepostet, wird erzeugt in dieser Umgebung
- Win7 64bit
- MsSQL-Server 2008 R2
Wenn ich diese Tabelle "tblTesttmp" unter meinem Standard-Userkonto öffne, dann hat sie nur ein Zeile, soweit OK.
Ich ändere den Eintrag im Feld Stunden, setze den Curser in ein anderes Feld und es erscheint der berühmte rote Punkt mit dem weissen Ausrufezeichen und die Message lautet: "Die Zeile hat sich geändert. Die Änderung wurde
nicht an die Datenbank weiter gegeben."
Tu ich dasselbe auf meinem Adminkonto(selbe Rechenmaschiene, selbe Datenbank,alles dasselbe), dann erscheint nach Änderung zwar auch dieser rote Punkt, mit dem selben Hinweis, aber die Änderung wird vollzogen.
Was kann das sein? Hat jemand eine Idee?
Wenn es am Trigger SQL-Code liegt würde ich mit meinem bescheidenen Wissen annehmen, dass dann beide Konten die Änderung verweigern,oder? Ich wüsste deshalb auch nicht wo hier ansetzen.
Gruss Karl
Der String für den Trigger sieht so aus, wie weiter unten gepostet, wird erzeugt in dieser Umgebung
- Win7 64bit
- MsSQL-Server 2008 R2
Wenn ich diese Tabelle "tblTesttmp" unter meinem Standard-Userkonto öffne, dann hat sie nur ein Zeile, soweit OK.
Ich ändere den Eintrag im Feld Stunden, setze den Curser in ein anderes Feld und es erscheint der berühmte rote Punkt mit dem weissen Ausrufezeichen und die Message lautet: "Die Zeile hat sich geändert. Die Änderung wurde
nicht an die Datenbank weiter gegeben."
Tu ich dasselbe auf meinem Adminkonto(selbe Rechenmaschiene, selbe Datenbank,alles dasselbe), dann erscheint nach Änderung zwar auch dieser rote Punkt, mit dem selben Hinweis, aber die Änderung wird vollzogen.
Was kann das sein? Hat jemand eine Idee?
Wenn es am Trigger SQL-Code liegt würde ich mit meinem bescheidenen Wissen annehmen, dass dann beide Konten die Änderung verweigern,oder? Ich wüsste deshalb auch nicht wo hier ansetzen.
Gruss Karl
Code:
ALTER Trigger [dbo].[myTestrigger] ON [dbo].[tblTesttmp] for insert,
update as
DECLARE @insPk Int
DECLARE @delPk Int
DECLARE @insStunden Int
DECLARE @delStunden Int
DECLARE @insTage Int
DECLARE @delTage Bit
SELECT @insPk = inserted.IDPK from inserted
SELECT @delPk = deleted.IDPK from deleted
SELECT @insStunden = inserted.StundenTmp from inserted
SELECT @delStunden = deleted.StundenTmp from deleted
SELECT @insTage = inserted.TageTmp from inserted
SELECT @delTage = deleted.TageTmp from deleted
UPDATE tblTesttmp SET Stunden=@insStunden, Tage=@insTage
WHERE @insPk = IDPK And @delStunden=Stunden And @delTage=Tage
Zuletzt bearbeitet von einem Moderator: