StoreProcedure

02/12/2004 - 15:48 por Mauricio Yevenes | Informe spam
Puedo hacer esto?

CREATE PROCEDURE BuscaDescripcion

(

@Tabla as varchar(20) = '',

@CampCod as varchar(20) = '',

@CampDes as varchar(20) = '',

@CodBus as varchar(2) = '',

@DesBus as varchar(60) = ''

)

AS



if @CodBus = '' begin

set @CodBus = null

end

if @DesBus = '' begin

set @DesBus = null

end

if @CodBus <> '' begin

if @CodBus like '%*%' begin

set @CodBus = replace(@CodBus,'*','%')

end

else begin

set @CodBus = '%' + @CodBus + '%'

end

end

if @DesBus <> '' begin

if @DesBus like '%*%' begin

set @DesBus = replace(@DesBus,'*','%')

end

else begin

set @DesBus = '%' + @DesBus + '%'

end

end

SELECT @CampCod, @CampDes

FROM @Tabla

WHERE

@CampCod LIKE ISNULL(@CodBus,@CampCod) AND @CampDes LIKE
ISNULL(@DesBus,@CampDes)
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
02/12/2004 - 15:01 | Informe spam
No das explicaciones de lo que desearías hacer, pero con algo de imaginación
entiendo que quieres ejecutar una SELECT construida dinámicamente.

Así como lo has escrito, no va a funcionar. Debes construir la sentencia
SELECT en una variable string (e.g. @sqlcmd) y luego ejecutar dicha variable
usando EXEC o sp_executesql. Hay ejemplos en los Books Online (BOL) de tu
instalación.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Mauricio Yevenes" wrote in message
news:
Puedo hacer esto?

CREATE PROCEDURE BuscaDescripcion

(

@Tabla as varchar(20) = '',

@CampCod as varchar(20) = '',

@CampDes as varchar(20) = '',

@CodBus as varchar(2) = '',

@DesBus as varchar(60) = ''

)

AS



if @CodBus = '' begin

set @CodBus = null

end

if @DesBus = '' begin

set @DesBus = null

end

if @CodBus <> '' begin

if @CodBus like '%*%' begin

set @CodBus = replace(@CodBus,'*','%')

end

else begin

set @CodBus = '%' + @CodBus + '%'

end

end

if @DesBus <> '' begin

if @DesBus like '%*%' begin

set @DesBus = replace(@DesBus,'*','%')

end

else begin

set @DesBus = '%' + @DesBus + '%'

end

end

SELECT @CampCod, @CampDes

FROM @Tabla

WHERE

@CampCod LIKE ISNULL(@CodBus,@CampCod) AND @CampDes LIKE
ISNULL(@DesBus,@CampDes)


Preguntas similares