Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Sql dinamico en procedure (https://www.clubdelphi.com/foros/showthread.php?t=16431)

StartKill 27-11-2004 04:04:39

Sql dinamico en procedure
 
Hola foro, estoy y trabajando con Interbase 7.1

Tengo u procedure almacenado donde tengo una sentencia mas o menos asi

select * from VENTAS1996....

y quisiera saber si de alguna manera puedo remplazar el nombre de la tabla por una variable, de tal forma que mi procedure pueda recibir el nombre de la tabla y procesarla.

mas o menos asi "esta es la logica, no se como lo haria en el procedure"

tabla_variable:=ventas2004
select * from tabla_variable

ó
tabla_variable:=ventas1998
select * from tabla_variable


a la espera de su ayuda, se despide...

Your friend,

StartKill
Lima-Perú

Lepe 27-11-2004 14:23:40

Pues yo tampoco tengo ni idea, lo que si he hecho en alguna ocasión es esto:

Código Delphi [-]
const sqlStr = ' Select * from %s '
begin
  qry.sql.add( format(sqlStr, ['tabla1']);
end;

Saludos.

StartKill 27-11-2004 15:34:30

Holas, je, je, je... epa Lepe :-)

Sin menospreciar tu apoyo...

Lo que necesito es el codigo en el motor de base de datos interbase 7.1, te comento:

Trabajo con delphi, tengo un procedure y alli puedo construir la cadena del select y enviarlo por un ibsql..pero a medida que he ido aumentado otros procedures con con otros ibsql este a empezado a ponerse lento... y opte por contruir un procedure almacenado y me tope con el problema antes mencionado.

A la espera de su ayuda

Your friend,

StartKill
Lima-Perú

StartKill 27-11-2004 15:50:08

Hola foro, La palabra "al vuelo" debo suponer que es una jerga... un sinonimo de "dinamico"

crear sentencias sql al vuelo
crear sentencia sql dinamicas


Muchas veces he leido en el foro busca en www.google.com, lee el foro antes de preguntar :D, a lo mejor este pedido lo ha leido un moderador y ya cansado de escribir lo mismo opto por el silencio, diciensose a si mismo: Hijos, hijos, hasta cuando no han de aprender?, no pregunten lo que ya esta contestado.... :)

http://www.clubdelphi.com/foros/show...ighlight=vuelo

Ups!!, creo que no se puede hacer lo que pido, al menos eso he entendido.

Gracias, Bye, bye

Your friend

StartKill
Lima-Perú

kinobi 27-11-2004 16:04:54

Hola,

Cita:

Empezado por StartKill
Muchas veces he leido en el foro busca en www.google.com, lee el foro antes de preguntar :D, a lo mejor este pedido lo ha leido un moderador y ya cansado de escribir lo mismo opto por el silencio, diciensose a si mismo: Hijos, hijos, hasta cuando no han de aprender?, no pregunten lo que ya esta contestado.... :)

La verdad es que este moderador si había leído tu pregunta, pero no consideraba que realmente la misma ya hubiese sido contestada (ni siquiera preguntada).

En realidad, el hilo que citas no da respuesta exacta a tu pregunta, ya que la versión 6 de InterBase (la respuesta que dí en aquel hilo estaba basada en la documentación de IB 6) no admite la creación de sentecias SQL "al vuelo" en el código de procedimientos almacenados y desencadenadores. Desconozco si la versión 7.x de InterBase (la que tú utilizas) lo permite, pero sí puedo comentarte que Firebird (a partir de la versión 1.5) sí lo permite:

http://www.clubdelphi.com/foros/show...CUTE+STATEMENT

Saludos.


La franja horaria es GMT +2. Ahora son las 00:02:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi