---
title: "T-SQL"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/110854-t-sql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Han-Solo"
published: "2004-09-05T12:38:34.000Z"
updated: "2004-09-09T17:40:16.000Z"
replies: 6
views: 290
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/110854-t-sql"
---

# T-SQL

## #1 — Han-Solo, 2004-09-05T12:38Z

Jag har missat nått vitalt...

Jag gör en stroed procedure som lägger till en användare i mitt system.  Den proceduren skall göra ett gäng saker så jag har lagt den i en trans. 

```
begin trans
insert into...
[...]
if @@error > 0
rollback tran
else
commit tran
```

till saken hör att jag har satt användarnamnet som unikt i en tabell så det går fel om jag försöker lägga till en användare med samma användarnamn vilket är riktigt...  men min fråga är... varför är @@error fortfarande 0 trotts att inserten går fel???

ska jag måsta kolla om användarnamnet finns först och ta omhand om just det felet själv??? verkar ju dumt...

Permalänk: https://www.webforum.nu/p/110854

## #2 — LarsG, 2004-09-05T13:24Z

@@error sätts efter varje sats.

Permalänk: https://www.webforum.nu/p/1428451

## #3 — Han-Solo, 2004-09-08T19:21Z

efter varje sats... ska jag slänga in nått 'go' menar du?
har testat men får det inte att funka...

Permalänk: https://www.webforum.nu/p/1433576

## #4 — LarsG, 2004-09-08T20:16Z

Nej, rys, inga go.

```
insert ...
-- @@error får ett värde
if @@error <> 0 set @latestError = @@error
-- @@error får ett nytt värde
set ...
--- @@error får ett nytt värde
```

så om du vill behålla värdet för @@error så måste du lagra det i en annan variabel.

Permalänk: https://www.webforum.nu/p/1433600

## #5 — Han-Solo, 2004-09-09T17:15Z

Ok... nu börjar det koppla... nu tror jag att jag fattar varför det blir rätt fast det är fel... 

först körs
insert into... som går fel...
@@error annat än 0
sen kör jag en fråga som går rätt
då bilr @@error 0 igen
och min if på slutet som kollar om @@error är skild från 0 säger att den är 0

kan det verkligen vara sant?
ska jag måsta kolla efter varje sats om @@error är skild från 0 ???

Permalänk: https://www.webforum.nu/p/1434069

## #6 — LarsG, 2004-09-09T17:30Z

Jo, så är det

Permalänk: https://www.webforum.nu/p/1434076

## #7 — Han-Solo, 2004-09-09T17:40Z

stööön.... är det sant!?

gu' va' bängligt!

Permalänk: https://www.webforum.nu/p/1434080

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/110854-t-sql
