Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-11-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
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ú
Responder Con Cita
  #2  
Antiguo 27-11-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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.

Última edición por Lepe fecha: 27-11-2004 a las 14:31:21. Razón: faltaba las comillas simples
Responder Con Cita
  #3  
Antiguo 27-11-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Question

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ú
Responder Con Cita
  #4  
Antiguo 27-11-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Smile

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 , 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ú
Responder Con Cita
  #5  
Antiguo 27-11-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
Empezado por StartKill
Muchas veces he leido en el foro busca en www.google.com, lee el foro antes de preguntar , 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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:46:50.


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