Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

sql larguisima

Estas en el tema de sql larguisima en el foro de Bases de Datos General en Foros del Web. Hola. Necesito hacer una consulta donde pregunto si algun campo de TODOS los campos de un registro contiene un *. La sql seria demasiado larga, ...
  #1 (permalink)  
Antiguo 16/05/2003, 23:14
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
sql larguisima

Hola.
Necesito hacer una consulta donde pregunto si algun campo de TODOS los campos de un registro contiene un *.
La sql seria demasiado larga, y me preguntaba si no existira alguna forma de poner ...WHERE * like '%*%'..., algo por el estilo, se capta la idea verdad?
  #2 (permalink)  
Antiguo 17/05/2003, 13:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Me temo que no se pueda hacer lo que quieras y tengas que hacerlo todo a mano. Pero si usas MySQL, mira en www.mysql.com . Quizas encuentras que se puede hacer.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 18/05/2003, 19:00
 
Fecha de Ingreso: mayo-2003
Ubicación: Medellín
Mensajes: 187
Antigüedad: 21 años
Puntos: 0
Lo veo poco probable... No creo que se pueda...

De todas maneras, si encuentras como hacerlo, o de mejorar la query, me avisas :)
__________________
- Julian
http://www.laneros.com
  #4 (permalink)  
Antiguo 20/05/2003, 15:01
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
lo que podrias hacer es desde asp, vb, php, o desde donde estes mandando a llamar la consulta crear un objeto ADO, e ir recorriendo los campos, uno por uno, para armar el query
y luego desde el mismo objeto ado, ejecutarlo.


Saludos.
__________________
Jorge Mota
Blog
Gubiz estafa
  #5 (permalink)  
Antiguo 22/05/2003, 08:53
 
Fecha de Ingreso: mayo-2003
Ubicación: Cipolletti - Patagonia Argentina
Mensajes: 6
Antigüedad: 21 años
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

*/
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.