campos a seleccionar como parametros

16/03/2005 - 22:49 por jagoro | Informe spam
hola saludos

alguien me podria decir si se pueden manejar como parametros los campos a
obtener en un select.
ejemplo


create procedure proc_sel
@campos varchar(80),
@numero int
as
select @campos from tabla1 inner join tabla2 on tabla1.campo1 tabla2.campo1 where numero = @numero
go


ejecucion

exec proc_sel 'tabla1.campo1, tabla1.campo2, tabla2.campo1','125222'

si alguien me puede aclarar esto se lo agradecere

gracias
 

Leer las respuestas

#1 DiGiTaL
16/03/2005 - 23:36 | Informe spam
Que tal Jagoro...

Debes declarar la variable de tipo nvarchar, y creo que se puede usar otro
tipo de dato char que no recuerdo bien pero para estar seguro usa una de
tipo nvarchar...
recuerda que este tipo de datos nvarchar solo aguanta hasta 4000
caracteres...

create procedure porc_sel
@campos nvarchar(4000), @numero int
as

declare @sql nvarchar(4000)
set @sql='select '+ @campos + ' from tabla1 inner join tabla2 on
tabla1.campo1 = tabla2.campo1 where numero ='+ @numero

Execute sp_executesql @sql



la con la variable @numero que es INT no tienes problema porque existe la
convercion implicita de int a nvarchar... pero si quieres puedes declarar
esta variable como nvarchar tambien...

mucha suerte... DiGiTaL


"jagoro" escribió en el mensaje
news:%
hola saludos

alguien me podria decir si se pueden manejar como parametros los campos a
obtener en un select.
ejemplo


create procedure proc_sel
@campos varchar(80),
@numero int
as
select @campos from tabla1 inner join tabla2 on tabla1.campo1 > tabla2.campo1 where numero = @numero
go


ejecucion

exec proc_sel 'tabla1.campo1, tabla1.campo2, tabla2.campo1','125222'

si alguien me puede aclarar esto se lo agradecere

gracias


Preguntas similares