GENERAR CORRELATIVO

14/10/2011 - 04:28 por jgpg07 | Informe spam
ESTIMADOS COMPAÑEROS
ESPERO QUE ME PUEDAN AYUDAR, TENGO UNA TABLA LLAMADA CORRELATIVO QUE
TIENE LOS CAMPOS CODIGO CHAR(10) Y NUMERO INT, EL PROBLEMA QUE TENGO
ES QUE ESTA TABLA LA USO PARA GUARDAR LOS NUMEROS DE CORRELATIVOS DE
LOS VOUCHERS, POR EJM EN EL CAMPO CODIGO GUARDO EL VALOR '201110'
CORRESPONDIENTE AL AÑO Y MES Y EN NUMERO EL CORRELATIVO EN QUE SE
QUEDA, LO QUE NECESITO Y NO ME SALE ES EL STORE PROCEDURE QUE ME
AUTOINCREMENTE EL NUMERO DE VOUCHER DE ACUERDO AL VALOR QUE GUARDO EN
CODIGO Y SI ESTE POR EJM ES 201110 QUE CORRESPONDE A OCTUBRE ME
INCREMENTE EL VALOR DE NUMERO EN +1 Y SI NO EXISTE EL VALOR QUE LE
PASO A CODIGO ME LO INSERTE EN LA TABLA Y LE ASIGNE EL VALOR 1 EN
NUMERO, NO SE SI ME PUEDAN AYUDAR, ESTA VA A SER UNA TABLA MUY
RECURRENTE YA QUE INGRESAN CASI 20 PERSONAS A LA VEZ Y ESTE
CORRELATIVO SE VA INCREMENTANDO Y LOS CORRELATIVOS NO DEBEN DUPLICARSE
PORQUE ME HA PASADO QUE ME ESTA DEVOLVIENDO A VECES EL MISMO VALOR
PARA 2 VOUCHERS DIFERENTES, NO SE SI ME PUDIERAN AYUDAR.

Preguntas similare

Leer las respuestas

#1 yuyul
14/10/2011 - 09:34 | Informe spam
Estas utilizando las transacciones para bloquear el acceso a la tabla
y así evitar las repeticiones?

Saludos
Respuesta Responder a este mensaje
#2 jgpg07
14/10/2011 - 15:47 | Informe spam
On 14 oct, 02:34, yuyul wrote:
Estas utilizando las transacciones para bloquear el acceso a la tabla
y así evitar las repeticiones?

Saludos



NO ESTOY USANDOLAS, ESTE ES MI PROCEDIMIENTO


Create procedure nextval @sqname char(10), @retval int OUTPUT
as
1
BEGIN
TRANSACTION NEXTVALTRX
UPDATE correlativo SET @retval = numero = numero + 1 WHERE codigo @sqname
IF @@ERROR = 0
COMMIT TRAN NEXTVALTRX
ELSE
ROLLBACK TRAN NEXTVALTRX
RETURN


DECLARE @numero INT
EXEC nextval 'OQ201110' , @numero OUTPUT
Select @numero
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida