Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/05/2003, 08:53
fmarredo
 
Fecha de Ingreso: mayo-2003
Ubicación: Cipolletti - Patagonia Argentina
Mensajes: 6
Antigüedad: 21 años, 6 meses
Puntos: 0
Espero que te sirva

En SQL Server podés hacer algo así:

create procedure crea_sql
@tabla sysname,
@sql_where varchar(255) output
AS

declare @id sysname,
@nombre sysname

select @id = id
from sysobjects (nolock)
where name = @tabla

declare cur_campos cursor fast_forward
for select name
from syscolumns (nolock)
where id = @id

open cur_campos
fetch from cur_campos into @nombre

select @sql_where = ' WHERE '

while @@fetch_status = 0 begin
select @sql_where = @sql_where + rtrim(@nombre) + ' like ''*'' or '
fetch from cur_campos into @nombre
end

select @sql_where = substring(@sql_where, 1, len(@sql_where) - 3)

/*
Para ejecutarlo :
declare @tabla sysname,
@sql_where varchar(255)

select @tabla = 'dpr_det_manchas'

exec crea_sql @tabla , @sql_where output

select @sql_where

*/