Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/03/2008, 14:45
Avatar de Gabo77
Gabo77
 
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años, 2 meses
Puntos: 6
Re: Trigger o procedimiento almacenado

Jeje, esa firma me saco de varios problemas operativos... :p

Pues podrías empezar con lo mas simple.... entendiendo un poco tu lógica sería algo como esto....

Código:
Create Procedure SpInsertaEscucha
(
    @IdEscucha As Integer,
    @IdBoletin As Integer,
    @Nota As VarChar(255), --Solo una suposicion
    @Fecha As DateTime
)As

/*Primero verificar que existe el boletín para el que va la escucha*/
If Not Exists(Select 1 From Boletin Where IdBoletin = @IdBoletin) Begin
    RaiseError('No existe boletin', 5000, 1) --Manejador de errores, esto solo es una alternativa
End

/*buscar si ya existe la escucha*/
If Exists(Select 1 From Escuchas Where IdEscucha = @IdEscucha) Begin
    /*ya existe, tenemos la opción de mandar error o actualizar.... lo que decida el cliente*/
End
Else Begin
    /*No existe, hacer la inserción de la escucha*/
End

Declare @Sql As VarChar(1000),
    @CampoUpd As VarChar(100)

Select @CampoUpd = Case /*Para obtener la primer escucha vacía*/
                                When NotaEscucha1 Is Null Then 'NotaEscucha1'
                                When NotaEscucha2 Is Null Then 'NotaEscucha2'
                                When NotaEscucha3 Is Null Then 'NotaEscucha3'
                                When NotaEscucha4 Is Null Then 'NotaEscucha4'
                        End
From Boletin
Where IdBoletin = @IdBoletin

Set @Sql = 'Update Boletin Set ' + @CampoUpd + ' = ' + Cast(@IdEscucha As VarChar) + ' Where IdBoletin = ' + Cast(@IdBoletin As VarChar)

Exec(@Sql)

Go
Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....

Última edición por Gabo77; 13/03/2008 a las 18:25