Avatar billede simsen Mester
17. oktober 2006 - 20:31 Der er 4 kommentarer og
1 løsning

try/catch i 2005 contra 2000

Hej,

Jeg har følgende stored procedure, som kører ganske upåklageligt på en 2005 server. Nu vil jeg så forsøge at skrive den samme ind i en 2000 server, men får at vide, at der er en fejl i nærheden af end try. Jeg tror selv det er begin catch idet at catch ikke får blå farve som den gør i 2005 udgaven. Nogen der ved, hvad jeg skal skrive istedet?

BEGIN
    DECLARE @v_status AS INTEGER

    set @v_status = 0

    begin transaction
    begin try
       
        UPDATE WKUser
        SET user_password = @p_user_password,
                        user_name = @p_user_name
        WHERE user_id = @p_user_id
        commit transaction
        set @v_status = 1
    end try
    begin catch
        rollback transaction
    end catch

    SELECT @@rowcount as status

END
Avatar billede arne_v Ekspert
17. oktober 2006 - 20:40 #1
er der try catch i 2000 ?
Avatar billede simsen Mester
17. oktober 2006 - 21:01 #2
arne

Det er det jeg ikke ved... altså om hvad jeg skal bruge istedet for. Jeg er ikke vant til stored procedure, så jeg vil forsøge at lave lidt copy/paste og så tilrette. Men det jeg har at copy efter er en 2005 udgave, og jeg arbejder med en 2000 udgave...

mvh
simsen :-)
Avatar billede driis Nybegynder
17. oktober 2006 - 21:32 #3
Try  ... Catch er nyt i SQL 2005. Du er nødt til at lave eksplicit fejlhåndtering, hvilket involverer at checke for fejlstatus og lave rollback / commit baseret på denne status.
Avatar billede driis Nybegynder
17. oktober 2006 - 21:36 #4
SQL Server sætter @@ERROR til 0 hvis det forrige statement forløb uden fejl, eller til fejlkoden hvis der skete en fejl. Bemærk at dette gøres for hvert statement, dvs. du er nødt til at tjekke for fejl umiddelbart efter det statement, der kunne forårsage en fejl.

En super-hurtig Google gav bl.a. denne artikel:
http://www.sommarskog.se/error-handling-I.html

Jeg har ikke selv læst det hele, men umiddelbart lader det til at den giver en god introduktion til emnet.
Avatar billede arne_v Ekspert
17. oktober 2006 - 21:46 #5
der er masser af @@ERROR eksempler i BOL
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