Avatar billede kloge Nybegynder
03. juni 2005 - 13:31 Der er 3 kommentarer

MS SQL trigger - Tjek af forretningslogik

Jeg har en tabel boxe, hvor feltet "varenr" af og til bliver slettet, uden at beholdningen "aktuelantal" er gået i 0.
Jeg kan ikke finde ud af, hvor i mit system det går galt, så derfor vil jeg gerne fyre en trigger når det sker.
Jeg har prøvet med:



CREATE TRIGGER TjekBoxe
ON boxe
for update
AS
IF ((boxe.varenr = '') and (boxe.aktuelantal > 0)) then
BEGIN
sp_addmessage 50001, 16, 'Boxe ikke tom, - ikke frigivet'
RAISERROR(50001, 16, -1, 0)
ROLLBACK TRANSACTION
END;

Men den dur ikke, der er end ikke syntaktisk korrekt.
Er der nogen der kan hjælpe?

/* (Boxe tabellen, f.eks : ) */
create table boxe (
varenr varchar(10),
aktuelantal integer );
Avatar billede kloge Nybegynder
03. juni 2005 - 15:24 #1
OK, jeg fandt ud af det.
Næste problem er så, at
Raiserror *ikke* sender en exception tilbage til  mit program, som gør brugeren
opmærksom på, at et problem er indtrådt.
Findes der en hårdere kommando der kan bruges i stedet for Raiserror?.
mvh Kloge
Avatar billede arne_v Ekspert
03. juni 2005 - 19:44 #2
dit program bør kunne se den fejl

hvordan ser din kode ud
Avatar billede arne_v Ekspert
24. juli 2005 - 16:30 #3
kloge ?
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