SQL Server - AYUDA CON PROCEDIMIENTO

 
Vista:

AYUDA CON PROCEDIMIENTO

Publicado por AUGUSTO (1 intervención) el 17/07/2006 00:19:37
HOLA A TODOS QUISIERA QUE ME AYUDEN CON EL SIGUIENTE PROCEDIMIENTO ALMACENADO:

EXPLICACION: EL PROCEDIMIENTO ALMACENADO DEBE DEVOLVER UN VALOR BUSCADO , RECIBIENDO PAR ELLO PARAMETROS DE ENTRADA COMO EL NOMBRE DE LA TABLA, EL NOMBRE DEL CAMPO Y EL DATO A BUSCAR, BUENO TAMBIEN SERIA EL TIPO DE DATO, PERO NO SE COMO DECLARAR.

POR FAVOR: ES PARA UN TRABAJO LO NECESITO URGENTE.

AQUI LES ESCRIBO CODIGO CON LA CUAL PROBE, PERO NO ME FUNCIONA YA QUE SALE EL ERROR DE QUE SE DEBE DECLARAR LA VARIABLE @nom_tabla:

create procedure buscar
@nom_tabla sysname,
@nom_campo varchar(200),
@cad_buscar varchar(200),
@cad_buscado varchar(200) output
as
if exists (select 1
from sysobjects
where id = object_id(@nom_tabla)
and type = 'U')
begin
select @cad_buscado = @nom_campo
from @nom_tabla
where @nom_campo like @cad_buscar + '%'
order by @nom_campo ASC
end
else
SET @cad_buscado = 'NOHAY'
GO

LES AGRADEZCO ANTICIPADAMENTE SU AYUDA.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA CON PROCEDIMIENTO

Publicado por Cecilia Colalongo (165 intervenciones) el 17/07/2006 16:39:03
No veo realmente que utilizar puede tener pero puedes hacer:

create procedure buscar
@nom_tabla varchar(255),
@nom_campo varchar(200),
@cad_buscar varchar(200),
@cad_buscado varchar(200) output
as
if exists (select name
from sysobjects
where name = @nom_tabla
and type = 'U')
begin
RETURN EXEC("select top 1 "+@nom_campo+" from "+@nom_tabla+"
where "+@nom_campo+" like '"+@cad_buscar + '%'"+
order by "+@nom_campo+" ASC")
end
else
SET @cad_buscado = 'NOHAY'
GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar