IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'dbo.CP_Clientes_Vencimientos') 
                   and OBJECTPROPERTY(id, N'IsProcedure') = 1 )
BEGIN
    DROP PROCEDURE dbo.CP_Clientes_Vencimientos
END
GO



CREATE PROCEDURE [dbo].[CP_Clientes_Vencimientos]	@pId_Cliente INT , @pId_Tipo_Venc VARCHAR(10)
AS
BEGIN

DECLARE @Existe INT

	IF (@pId_Tipo_Venc <> '')
	BEGIN
			SELECT C.Id_Cliente,CV.Id_Tipo_Venc, CVT.Descripcion, CV.Fecha, ISNULL(CV.Nota,'') as Nota FROM Clientes c
					RIGHT JOIN Clientes_Venc cv			ON cv.Id_Cliente = c.Id_Cliente
					RIGHT JOIN Clientes_Venc_Tipos cvt	ON cv.Id_Tipo_Venc = cvt.Id_Tipo_Venc
					WHERE c.Id_Cliente=@pId_Cliente AND CVT.Id_Tipo_Venc=@pId_Tipo_Venc
	END
	ELSE
	BEGIN
			SET @Existe = ( SELECT COUNT(*) FROM Clientes c
							RIGHT JOIN Clientes_Venc cv			ON cv.Id_Cliente = c.Id_Cliente
							RIGHT JOIN Clientes_Venc_Tipos cvt	ON cv.Id_Tipo_Venc = cvt.Id_Tipo_Venc
							WHERE c.Id_Cliente=@pId_Cliente
							)

			IF(@Existe=0)
			BEGIN
					INSERT INTO Clientes_Venc (Id_Cliente,Id_Tipo_Venc) 
								SELECT @pId_Cliente,Id_Tipo_Venc FROM Clientes_Venc_Tipos A 
								WHERE NOT EXISTS(SELECT 1 FROM Clientes_Venc B WHERE A.Id_Tipo_Venc = B.Id_Tipo_Venc 
													AND Id_Cliente = @pId_Cliente)

			END

	SELECT C.Id_Cliente,CV.Id_Tipo_Venc, CVT.Descripcion, CV.Fecha, ISNULL(CV.Nota,'') as Nota FROM Clientes c
					RIGHT JOIN Clientes_Venc cv			ON cv.Id_Cliente = c.Id_Cliente
					RIGHT JOIN Clientes_Venc_Tipos cvt	ON cv.Id_Tipo_Venc = cvt.Id_Tipo_Venc
					WHERE c.Id_Cliente=@pId_Cliente

	END
END