/
Forside
/
Teknologi
/
Udvikling
/
SQL
/
Nyhedsindlæg
Login
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Stil et spørgsmål
Skriv et tip
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
SQL
#
Navn
Point
1
pmbruun
1704
2
fehaar
730
3
Interkril..
701
4
ellebye
510
5
pawel
510
6
rpje
405
7
pete
350
8
gibson
320
9
smorch
260
10
svend_dyhr
250
Transaction
Fra :
Maxi
Dato :
13-03-04 22:13
Hvordan laver man en transaction i mssql ? Hvis begge SQL statement udføres
korrekt skal der comittes. Hvordan gøres dette??
CREATE PROCEDURE AddUser
(
@UserID int
)
AS
INSERT INTO Temp1(UserID)
VALUES (@UserID )
UPDATE Temp2 SET UserID = @UserID
WHERE (UserID = @UserID )
GO
Søren Lund Jensen (
14-03-2004
)
Kommentar
Fra :
Søren Lund Jensen
Dato :
14-03-04 15:01
Maxi wrote:
> Hvordan laver man en transaction i mssql ? Hvis begge SQL statement
> udføres korrekt skal der comittes. Hvordan gøres dette??
>
> CREATE PROCEDURE AddUser
> (
>
> @UserID int
>
> )
> AS
BEGIN TRANS
> INSERT INTO Temp1(UserID)
> VALUES (@UserID )
>
> UPDATE Temp2 SET UserID = @UserID
> WHERE (UserID = @UserID )
IF @@ERROR <> 0
ROLLBACK TRANS
ELSE
COMMIT
> GO
Kristian Damm Jensen (
14-03-2004
)
Kommentar
Fra :
Kristian Damm Jensen
Dato :
14-03-04 20:07
Søren Lund Jensen wrote:
> Maxi wrote:
>
>> Hvordan laver man en transaction i mssql ? Hvis begge SQL statement
>> udføres korrekt skal der comittes. Hvordan gøres dette??
>>
>> CREATE PROCEDURE AddUser
>> (
>>
>> @UserID int
>>
>> )
>> AS
>
> BEGIN TRANS
>> INSERT INTO Temp1(UserID)
>> VALUES (@UserID )
>>
>> UPDATE Temp2 SET UserID = @UserID
>> WHERE (UserID = @UserID )
>
> IF @@ERROR <> 0
> ROLLBACK TRANS
> ELSE
> COMMIT
>> GO
Du synes ikke det er umagen værd at kontrollere @@error for hvert trin?
Hvis inserten fejler, men updated går godt, så vil du gerne committe?
--
Kristian Damm Jensen damm (at) ofir (dot) dk
"I conclude that there are two ways of constructing a software design:
One way is to make it so simple that there are obviously no
deficiencies and the other way is to make it so complicated that there
are no obvious deficiencies." -- C.A.R. Hoare
Søren Lund Jensen (
15-03-2004
)
Kommentar
Fra :
Søren Lund Jensen
Dato :
15-03-04 20:07
Kristian Damm Jensen wrote:
> Søren Lund Jensen wrote:
> > Maxi wrote:
> >
> >> Hvordan laver man en transaction i mssql ? Hvis begge SQL statement
> >> udføres korrekt skal der comittes. Hvordan gøres dette??
> > >
> >> CREATE PROCEDURE AddUser
> >> (
> > >
> >> @UserID int
> > >
> >> )
> >> AS
> >
> > BEGIN TRANS
> >> INSERT INTO Temp1(UserID)
> >> VALUES (@UserID )
> > >
> >> UPDATE Temp2 SET UserID = @UserID
> >> WHERE (UserID = @UserID )
> >
> > IF @@ERROR <> 0
> > ROLLBACK TRANS
> > ELSE
> > COMMIT
> >> GO
>
> Du synes ikke det er umagen værd at kontrollere @@error for hvert
> trin? Hvis inserten fejler, men updated går godt, så vil du gerne
> committe?
Du har ret. Jeg var vist lidt for hurtig der.
Søg
Alle emner
Teknologi
Udvikling
SQL
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177821
Tips :
31980
Nyheder :
719565
Indlæg :
6410976
Brugere :
218912
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2026 kandu.dk. Alle rettigheder forbeholdes.