Ver Mensaje Individual
  #2  
Antiguo 04-02-2006
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Reputación: 21
lbuelvas Va por buen camino
Si estas trabajando con firebird 1.5 o posterior, puede utilizar for execute statement en lugar de for select. La ventaja es que el for execute statement te permite tener selects dinamicos.

En tu caso la consulta seria algo como:

Código SQL [-]
for execute statement 'select CODIGO, DESCRIP, coalesce(existencia,0) ' ||
                      'FROM cinve where 1=1 '                           ||
                      'and  descrip like ''%'   || vdescrip || '%'' '   ||              
                      'where order BY descrip '
                      into :scodigo, :sdescrip, :sexistencia
do begin
  .. el resto de tu codigo
end

Recuerda que '' sirve para representar una comilla simple, entonces
''%' equivale a '%
'%'' equivale a %'

El inteprete dependiendo de lo que llegue en vdescrip dara por resultado:

and descrip like '%vdescrip%'

Espero te sea de utilidad.
__________________
Luis Fernando Buelvas T.
Responder Con Cita