Ich muss einen SQL Server-Trigger zum Sperren von Updates erstellen und löscht eine Tabelle Service
.IF-Anweisungen in SQL Server-Trigger
Diese Aktion sollte nur an Service
durchgeführt werden, in der die Spalte State
s Beispieldaten "abgeschlossen" ist.
Es sollte Updates ermöglichen und löscht zu Service
, in denen die Spalte State
s Beispieldaten "aktiv" ist.
Dies ist, was ich ausprobiert habe, habe ich Probleme mit der else Operation (das ermöglicht Updates Service
, in denen die Spalte State
Beispieldaten "aktiv" ist).
CREATE TRIGGER [Triggername]
ON dbo.Service
FOR INSERT, UPDATE, DELETE
AS
DECLARE @para varchar(10),
@results varchar(50)
SELECT @para = Status
FROM Service
IF (@para = 'completed')
BEGIN
SET @results = 'An invoiced service cannot be updated or deleted!';
SELECT @results;
END
BEGIN
RAISERROR ('An invoiced service cannot be updated or deleted', 16, 1)
ROLLBACK TRANSACTION
RETURN
END
Wenn Sie Updates blockieren und löschen möchten - warum ist dann der Trigger auf 'INSERT'? Außerdem: Sie sehen niemals die 'Gelöschten' und' Eingefügten' Pseudo-Tabellen, die Ihnen sagen * was * Zeilen wurden aktualisiert (oder gelöscht) - so wird dies nicht funktionieren ...... –
es zurückgibt Der Wert "Ein fakturierter Service kann nicht aktualisiert oder gelöscht werden!". aber ich bin nicht sicher, ob es die if Bedingung überprüft – Ayyub