19. januar 2003 - 18:36 Der er 5 kommentarer

Låse række i mssql

Hej

Jeg sidder med mssql og vil gerne låse en række som indeholder en nummerserie. Det er vigtigt, at ikke to bruger samtidigt får et nummer for rækken, da der dermed ikke er blevet opdateret i rækken.

Hvor kan jeg styre det i mssql? Kan jeg lave en trigger eller lign. for at håndtere transaktionen?
Avatar billede _darkstar_ Nybegynder
19. januar 2003 - 19:02 #1
Avatar billede arne_v Ekspert
19. januar 2003 - 19:37 #2
Prøv med SELECT FOR UPDATE.
19. januar 2003 - 20:01 #3
I bliver nødt til at forklare lidt mere, jeg er novice :-) Jeg kan se noget med conn.startTrans og conn.committrans, men den giver fejl.

Fejltype:
Microsoft OLE DB Provider for SQL Server (0x8000FFFF)
ITransaction::Commit or ITransaction::Abort was called, and object is in a zombie state.
/cb/application/co_application.asp, line 289

I zombie state, hmm..noget med objektet mister mine faktiske oplysninger eller lign. Any ideas?

Arne v --> i hvilken sammenhæng bruger jeg select-sætningen og skulle det være nok i sig selv?
Avatar billede arne_v Ekspert
19. januar 2003 - 21:00 #4
Glem det. Jeg har lige fundet ud af at MS SQLServer ikke
understøtter SELECT FOR UPDATE.

Jeg beklager.
Avatar billede janus_007 Nybegynder
20. januar 2003 - 00:27 #5
Hej!
Den funktionalitet du er på udkig efter er sikkert ROWLOCK !
Tjek den ud her: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_con_7a_1hf7.asp
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