Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Mi store Procedure no funciona

Estas en el tema de Mi store Procedure no funciona en el foro de SQL Server en Foros del Web. hola, tengo problemas con este procedimiento, ya ke cuando no hay ningun registro no genera ningun codigo,aki esta el procedimiento: CREATE PROC sp_FSopTec_generar_codsol @codsol varchar(10)OUTPUT ...
  #1 (permalink)  
Antiguo 08/01/2007, 14:18
 
Fecha de Ingreso: diciembre-2004
Mensajes: 133
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta Mi store Procedure no funciona

hola,

tengo problemas con este procedimiento, ya ke cuando no hay ningun registro no genera ningun codigo,aki esta el procedimiento:

CREATE PROC sp_FSopTec_generar_codsol
@codsol varchar(10)OUTPUT
AS
declare @maxsol as int
declare @maxsol2 varchar(10)

SELECT @maxsol=MAX(CAST(SUBSTRING(fst_cod,2,4) AS integer)) +1 FROM FSopTec
set @maxsol2 = convert(varchar(10),@maxsol)

IF @@ROWCOUNT > 0
BEGIN
IF @maxsol=1
SET @codsol='F0001'+'-'+ convert(varchar(20),year(getdate()),100)

IF @maxsol<10
SET @codsol='F000'+ @maxsol2 +'-'+ convert(varchar(20),year(getdate()),100)

IF @maxsol>9 and @maxsol<100
SET @codsol='F00'+ @maxsol2 +'-'+ convert(varchar(20),year(getdate()),100)

IF @maxsol>99 and @maxsol<1000
SET @codsol='F0'+ @maxsol2 +'-'+ convert(varchar(20),year(getdate()),100)

IF @maxsol>9999 and @maxsol<10000
SET @codsol='F'+ @maxsol2 +'-'+ convert(varchar(20),year(getdate()),100)
END
RETURN
GO


Agradecera sus comentarios.
__________________
Mina
  #2 (permalink)  
Antiguo 08/01/2007, 14:54
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
De acuerdo Re: Mi store Procedure no funciona

Que tal asi??




Código:
CREATE PROC dbo.sp_FSopTec_generar_codsol
       @codsol varchar(10)OUTPUT 
AS 
Declare @maxsol as int


Select @MaxSol = 0

SELECT @maxsol=MAX(CAST(SUBSTRING(fst_cod,2,4) AS integer)) 
FROM   FSopTec (nolock)

Select @MaxSol = isnull(@Maxsol, 0) + 1

Select @codsol = right('0000' + convert(varchar(10),@maxsol) + '-', 5) + convert(varchar(20),year(getdate()),100)

Select @codsol = isnull(@codsol, '')
RETURN
GO
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.