SEQUENCIAL SQL-SERVER

ACGGERMED 24/05/2010 23:02:40
#342669
Prezados amigos, boa noite.

Preciso resolver a seguinte situação:

Tenho uma tabela em SQL a qual tem uma chave primária sendo: UNID + NUMREG
onde UNID é um campo Caracter de 2 e NUMREG um campo Numerico.
O problema é que tenho vários usuários cadastrando simultaneamente num Form
e gravando nessa tabela, então preciso que esse sequencial seja automático
a medida que cada usuário grave no banco. Como resolveria essa situação?
Existe alguma função que eu posso dar um LOCK (bloquear o registro) para poder
cadastrar ou alterar o o registro o mesmo tempo por diversos usuários?

Na minha base precisará ficar assim:

UNID - NUMREG
A 1
A 2
A 3
B 1
B 2
B 3
e assim por diante, mas imagenem vários usuários cadastrando ao mesmo tempo.
Portanto preciso que esse sequencial seja totalmente automático.

Grato desde já a todos

ACG
SAMUKA 10/06/2010 09:37:54
#344446
ACGGERMED, em primeiro lugar, sempre use um campo ID com auto-numeração, como chave primária, SEMPRE!!

Mesmo que parece desnecessário, lá na frente você acabará encontrando vantagens no seu uso.

O seu problema é clássico, tlz até já tenha encontrado a solução.
Se vc usar ADO existe um controle de Bloqueio que permite vc controlar isso.

A segunda solução depende do BD que você está usando. Seria vc criar uma StoreProcedure que faça o serviço pra vc direto no banco.
Tópico encerrado , respostas não são mais permitidas