Avatar billede stephanryer Nybegynder
21. juni 2007 - 09:32 Der er 5 kommentarer og
1 løsning

Vurder denne trigger

Dette er første gang, jeg laver triggers, som annullerer en UPDATE under bestemte betingelser, så jeg vil gerne høre, om det er den rigtige måde at gøre det på.

Meningen er, at feltet tabel1.felt1 ikke må ændres.

Min trigger:

CREATE TRIGGER [dbo].[trigger1] ON [dbo].[tabel1]
FOR UPDATE
AS
IF(UPDATE(felt1))
BEGIN
  RAISERROR('felt1 på tabel1 kan ikke ændres!', 16, 1)
  ROLLBACK TRAN
END
GO

Er dette måden at gøre det på?

Og hvad angiver 16, 1? Det er noget jeg har fundet i et eksempel.

På forhånd tak.
Avatar billede arne_v Ekspert
21. juni 2007 - 09:35 #1
Avatar billede stephanryer Nybegynder
21. juni 2007 - 09:39 #2
ok nice mht. severity og state. Ang. severity: Værdier fra 0-19 anses som værende ikke-fatale. Men hvad er så forskellen på, om man bruger 1 eller 19?

Og er triggeren ellers som den bør være?
Avatar billede stephanryer Nybegynder
21. juni 2007 - 09:42 #3
Well nvm omkring det med severity state. Jeg læste nederst i artiklen, hvor der stod noget med om det og tror 16 er fint nok.

Så jeg vil bare gerne have godkendt fremgangsmåden i min trigger med det formål den har :)
Avatar billede arne_v Ekspert
21. juni 2007 - 10:11 #4
Der skal vi nok have en rigtig DB guy paa banen.
Avatar billede stephanryer Nybegynder
05. februar 2008 - 20:34 #5
Arne læg et svar :) Så kan jeg få lukket spørgsmålet.
Avatar billede arne_v Ekspert
05. februar 2008 - 20:51 #6
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester