Tomar Nro. Para Numerar Facturas

18/08/2005 - 19:13 por Nelson Rodriguez | Informe spam
Tengo el siguiente proc. almacenado que pretende devolver el siguiente nro.
de una tbala que tengo para numerar facturas:

CREATE PROCEDURE dortablas @quetabla varchar(10), @doynum int OUTPUT
AS
DECLARE @nnId int

BEGIN TRANSACTION
SELECT @doynum = siguiente+1
FROM numdores (HOLDLOCK) where ctabla=@quetabla
IF NOT (@@rowcount = 1)
BEGIN
INSERT INTO numdores (ctabla,siguiente,campo) values (@quetabla,1,'?')
set @doynum = 1
END

UPDATE numdores
SET siguiente = @doynum where ctabla=@quetabla
COMMIT TRANSACTION
GO

Ocurre que a veces me graba registros son un número generado por esta rutina
y no me actualiza LA TABLA!!!!!!.

solicito opiniones.
Gracias

Nelson Rodriguez
neroig@adinet.com.uy
 

Leer las respuestas

#1 Harold Crow
18/08/2005 - 19:52 | Informe spam
no podes enviar el nombre de la tabla en una variable de tipo caracter
no recuerdo el tipo que tenes que definir pero de lo otro si estoy
seguro

"Nelson Rodriguez" escribió en el mensaje
news:
Tengo el siguiente proc. almacenado que pretende devolver el siguiente
nro. de una tbala que tengo para numerar facturas:

CREATE PROCEDURE dortablas @quetabla varchar(10), @doynum int OUTPUT
AS
DECLARE @nnId int

BEGIN TRANSACTION
SELECT @doynum = siguiente+1
FROM numdores (HOLDLOCK) where ctabla=@quetabla
IF NOT (@@rowcount = 1)
BEGIN
INSERT INTO numdores (ctabla,siguiente,campo) values (@quetabla,1,'?')
set @doynum = 1
END

UPDATE numdores
SET siguiente = @doynum where ctabla=@quetabla
COMMIT TRANSACTION
GO

Ocurre que a veces me graba registros son un número generado por esta
rutina y no me actualiza LA TABLA!!!!!!.

solicito opiniones.
Gracias

Nelson Rodriguez



Preguntas similares