Ayuda con procedimiento almacenado???
Publicado por Henry (6 intervenciones) el 06/01/2009 16:27:31
Hola, tengo un procedimiento almacenado en SQL Server 2005, y me estuvo funcionando bien, es una aplicacion de escritorio, sin embargo ahora se quedo fija en un numero.
Explico, en la aplicacion cuando pulsamos nuevo registro, SQL debe de darme el siguiente ID, y ademas tambien averiguar el consecutivo de un campo llamado numero, este debe ir incrementando al siguiente en cada nuevo registro.
Adjunto codigo, gracias por la ayuda que me puedan brindar.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[sp_salvarmadre]
-- Add the parameters for the stored procedure here
@mId varchar(10),
@mIdmaster varchar(10),
@mFch_cambio datetime,
@mStatus varchar(10),
@mEstado varchar(15),
@mObs_Estado varchar(250),
@mGenerado varchar(15),
@mNumero varchar(15),
@mFecha datetime,
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 1 @mId=ID FROM TBLMADRE ORDER BY ID DESC
SET @mId=@mId+1
SELECT TOP 1 @mNumero=NUMERO FROM TBLMADRE WHERE STATUS='1' ORDER BY NUMERO DESC
SET @mNumero=@mNumero+1
INSERT INTO [PRICING].[dbo].[TBLMADRE]
([ID]
,[IDMASTER]
,[FCH_CAMBIO]
,[STATUS]
,[ESTADO]
,[OBS_ESTADO]
,[GENERADO]
,[NUMERO]
,[FECHA])
VALUES
(@mId
,@mIdmaster
,@mFch_cambio
,@mStatus
,@mEstado
,@mObs_Estado
,@mGenerado
,@mNumero
,@mFecha)
END
El Id si lo hace bien, e incluso antes con el numero, pero ahora se quedo pegado en el numero 10, y no me da el siguiente.
Gracias por la ayuda al respecto.
Explico, en la aplicacion cuando pulsamos nuevo registro, SQL debe de darme el siguiente ID, y ademas tambien averiguar el consecutivo de un campo llamado numero, este debe ir incrementando al siguiente en cada nuevo registro.
Adjunto codigo, gracias por la ayuda que me puedan brindar.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[sp_salvarmadre]
-- Add the parameters for the stored procedure here
@mId varchar(10),
@mIdmaster varchar(10),
@mFch_cambio datetime,
@mStatus varchar(10),
@mEstado varchar(15),
@mObs_Estado varchar(250),
@mGenerado varchar(15),
@mNumero varchar(15),
@mFecha datetime,
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 1 @mId=ID FROM TBLMADRE ORDER BY ID DESC
SET @mId=@mId+1
SELECT TOP 1 @mNumero=NUMERO FROM TBLMADRE WHERE STATUS='1' ORDER BY NUMERO DESC
SET @mNumero=@mNumero+1
INSERT INTO [PRICING].[dbo].[TBLMADRE]
([ID]
,[IDMASTER]
,[FCH_CAMBIO]
,[STATUS]
,[ESTADO]
,[OBS_ESTADO]
,[GENERADO]
,[NUMERO]
,[FECHA])
VALUES
(@mId
,@mIdmaster
,@mFch_cambio
,@mStatus
,@mEstado
,@mObs_Estado
,@mGenerado
,@mNumero
,@mFecha)
END
El Id si lo hace bien, e incluso antes con el numero, pero ahora se quedo pegado en el numero 10, y no me da el siguiente.
Gracias por la ayuda al respecto.
Valora esta pregunta


0