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 30-01-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
Question Duda sobre procedimiento almacenado

Hola !

Tengo una pregunta sobre los procedimientos almacenados. Se puede mandar como parámetro la tabla de la cual vamos a sacar información.



Código:
set term ^;
create procedure proce(cod integer, tab char(10))
returns (timp decimal(12,2))
as
begin
  select sum(imp) from :tab    
       where cod= :cod
     into :timp;
  suspend;
end ^
set term ;^
Según tengo entendido no se puede. . ¿Estoy equivocada o no?

Saludos!
Responder Con Cita
  #2  
Antiguo 30-01-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

no puedes ... en InterBase (al menos hasta la versión 6. en superiores no lo sé) y en Firebird (versiones 1.0.x e inferiores), pero en Firebird 1.5 a tavés de EXECUTE STATEMENT creando dinámicamente la sentencia.

Sacado del registro de cambios de la versión 1.5:

* New EXECUTE VARCHAR statement (SF #446256).
Allow execution of dynamic SQL statements in SPs/triggers.
Syntax:
EXECUTE VARCHAR value;
Notes:
1. Available in PSQL only.
2. Currently cannot return values, so SELECT statements are not allowed.
3. Recursion level is limited to 50 (hardcoded).
Example:
EXECUTE VARCHAR my_var;
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>


Aunque dice que no se permiten sentencias SELECT, en la Beta 4 fue mejorado:

* Improved EXECUTE STATEMENT.
Now it's possible to return values from the dynamic SQL.
Syntax:
EXECUTE STATEMENT <value> INTO <var_list>; (singleton form)
or
FOR EXECUTE STATEMENT <value> INTO <var_list> DO <stmt_list>;
Contributor(s):
Alexander Peshkoff <peshkoff at hotmail.ru>


En las notas de la versión 1.5 (en la traducción al Español colaboró el compañero de estos foros Marc Guillot-Seguramente él tenga la dirección de descarga, yo no la encuentro) tienes varios ejemplos de uso.

Saludos.

Última edición por kinobi fecha: 30-01-2004 a las 10:45:48.
Responder Con Cita
  #3  
Antiguo 30-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Esto se trató en otro hilo donde tenía este interés y me respondió el amigo kinobi. Allí encontrarás un ejemplo de como hacerlo

http://www.clubdelphi.com/foros/show...CUTE+STATEMENT
Responder Con Cita
  #4  
Antiguo 30-01-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
Thumbs up Mil Gracias

Aclarada perfectamente mi duda.

Gracias Kinobi por ser tan claro en tus respuestas.


Cita:
Esto se trató en otro hilo donde tenía este interés y me respondió el amigo kinobi....
Se ve q hoy no tengo un día muy acertado, porque busqué por el foro, y no encontré (no buscaría bien . ) Gracias Cadetill también me ha servido de ayuda.

Visto lo visto creo que voy a pasar de Interbase 6.0 a FireBird 1.5. Manejo los IB, pero ningún TIBTable, utilizo TIBDataSet y TIBQuery. No creo que tenga problemas con FireBird.

Saludos!
Responder Con Cita
  #5  
Antiguo 30-01-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 Nuria
Visto lo visto creo que voy a pasar de Interbase 6.0 a FireBird 1.5. Manejo los IB, pero ningún TIBTable, utilizo TIBDataSet y TIBQuery. No creo que tenga problemas con FireBird.
no confíes en ello. IBX sólo dará soporte al API InterBase, pero no al de Firebird. De hecho es posible (no estoy seguro, ya que yo no he probado la combinación IBX+FB_1.5) que ya haya problemas.

Alternativas: dbExpress, IBO, FIBPlus

Saludos
Responder Con Cita
  #6  
Antiguo 30-01-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
Pues entonces.... no sé que haré, porque practicamente tengo terminada la aplicación con los IB e interbase 6.0. Creo que finalmente probaré con FireBird haber si me da algún problemilla.

Cita:
Originalmente publicado por Kinobi
Alternativas: dbExpress, IBO, FIBPlus
Y en adelante, probaré las Alternativas. Porque por lo que estoy viendo le puedo sacar más partido a FireBird que a Interbase.

Gracias.

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 16:21:54.


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