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 21-01-2009
tonyskl tonyskl is offline
Miembro
 
Registrado: oct 2007
Posts: 18
Poder: 0
tonyskl Va por buen camino
Question Error EXECUTE STATEMENT

Buenas a todos,

tengo un problema al intentar ejecutar dinamicamente una query ...

Intento crear el siguiente procedimiento ...

Código SQL [-]
CREATE PROCEDURE SPLIMPIARTABLA(    pNomTabla Varchar(40)) 
AS 
BEGIN       
EXECUTE STATEMENT 'DELETE FROM ' || pNomTabla || ';'; 
END


... y al compilar me da el siguiente error:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 7, char 7.
STATEMENT.

Parece que no me reconoce la palabra clave STATEMENT...

Mi versión de Interbase es Server 2007.

!!Gracias por la ayuda!!
Un saludo,
Tony.
Responder Con Cita
  #2  
Antiguo 21-01-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
InterBase no tiene esa sentencia, es Firebird quien la tiene tal y como la que estas describiendo, puede ser que InterBase tenga alguna que sea equivalente, pero por lo menos yo, no sabría decirte cual es.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 21-01-2009
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Buenas,

En Interbase sería:

Código SQL [-]
EXECUTE IMMEDIATE 'DELETE FROM ' || :pNomTabla;

En el momento, no tengo IB a la mano, así que no pude comprobarlo.
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 22-01-2009
tonyskl tonyskl is offline
Miembro
 
Registrado: oct 2007
Posts: 18
Poder: 0
tonyskl Va por buen camino
Cita:
Empezado por TOPX Ver Mensaje
Buenas,

En Interbase sería:

Código SQL [-]
EXECUTE IMMEDIATE 'DELETE FROM ' || : pNomTabla;

En el momento, no tengo IB a la mano, así que no pude comprobarlo.
Buenas, muchas gracias a los dos por contestar...

Esta solución que me planteas no funciona (al menos en Interbase 2007).

El error es el mismo que con EXECUTE STATEMENT, es decir:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 7, char 7.
IMMEDIATE.

No reconoce la palabra IMMEDIATE ...

Mi pregunta entonces es ... ¿Puedo con Interbase ejecutar querys montadas dinamicamente?

Si es así.... ¿Como?

Un saludo,
muchas gracias,
Tony.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Execute statement Ana Tudela Firebird e Interbase 7 12-12-2006 13:27:13
Problema con execute statement Ivanzinho Firebird e Interbase 3 29-12-2005 10:25:00
Execute Statement jwmoreira Firebird e Interbase 12 22-05-2005 21:55:27
for execute statement conquer Firebird e Interbase 0 16-02-2005 23:23:49
Problema con EXECUTE STATEMENT taote Firebird e Interbase 10 25-05-2004 11:08:32


La franja horaria es GMT +2. Ahora son las 19:52:53.


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