Procedimiento almacenado para recuperar numero de factura

01/07/2010 - 16:25 por Paul | Informe spam
Hola,

Estoy intentando hacer un procedimiento almacenado en Sql Server 2008,
para recuperar un número de factura.
La tabla donde esta el últimi número de factura es: ConfGen (NumFact
int)

He intentado con esto, pero no se como hacer para que me devuelva el
valor:

CREATE PROCEDURE [dbo].[NumFact]
@NumFact int OUTPUT
AS
BEGIN
SET NOCOUNT ON;

UPDATE ConfGen
SET NumFact = (SELECT MAX(NumFact) +1 FROM ConfGen)
END

Pero como hago para que me devuelva el número de factura?

Gracias
 

Leer las respuestas

#1 Ele
02/07/2010 - 20:22 | Informe spam
hola debes de guardar el nuevo numero en la variable o parametro te paso el
codigo como debe de quedar
CREATE PROCEDURE [dbo].[NumFact]

@NumFact int OUTPUT

AS

BEGIN

SET NOCOUNT ON;

/*

** obtienes el ultimo numero de factura. aqui es donde toma valor la
variable

*/

SELECT @NumFact = MAX(NumFact) +1 FROM ConfGen

/*

** actualizas este nuevo numero de factura

*/

UPDATE ConfGen

SET NumFact = @NumFact

/*

hasta aqui te va a regresar el valor de la factura si lo invocas desde sql
(debes poner al final la sentencia output)

*/

/*

ahora si lo necesitas regresar a tu aplicacion ya sea java, VB, C# etc.

entonces necesitas un result set que no es mas que un select

Select 'NumFact' = @NumFact

*/

Return 0

END

"Paul" escribió en el mensaje
news:
Hola,

Estoy intentando hacer un procedimiento almacenado en Sql Server 2008,
para recuperar un número de factura.
La tabla donde esta el últimi número de factura es: ConfGen (NumFact
int)

He intentado con esto, pero no se como hacer para que me devuelva el
valor:

CREATE PROCEDURE [dbo].[NumFact]
@NumFact int OUTPUT
AS
BEGIN
SET NOCOUNT ON;

UPDATE ConfGen
SET NumFact = (SELECT MAX(NumFact) +1 FROM ConfGen)
END

Pero como hago para que me devuelva el número de factura?

Gracias

Preguntas similares