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 25-03-2004
Avatar de Triton
Triton Triton is offline
Miembro
 
Registrado: nov 2003
Ubicación: Murcia
Posts: 37
Poder: 0
Triton Va por buen camino
Post Vaciar tablas desde Stored Procedure

Hola foreros, me persigue un problema al que quiero dar solución.

Uso Interbase 5.6, y lo que quiero hacer es un procedimiento que vacie las tablas que empiecen por 'TMP'...

El caso es que tengo este procedimiento:

Código:
create procedure BORRA_TABLAS_TEMPORALES
AS
declare variable nombre_tabla varchar(40);
declare variable aux smallint;
BEGIN

  for select distinct rdb$relation_name
  from rdb$relations
  where rdb$relation_name like 'TMP%'
  into :nombre_tabla
  do begin

    if ((nombre_tabla='TMP_VENTAS_US') or (nombre_tabla='TMP_VENTAS_US2')) THEN
      delete from :nombre_tabla;
    else
      aux=1;
  end
end
Pero Interbase no me deja compilarlo, ya sé que se puede hacer muy fácil desde Delphi con un Query, pero a mi me interesa tener este procedimiento en la Base De Datos.

Desde ya, muchas gracias
__________________
La ignorancia es la felicidad
Responder Con Cita
  #2  
Antiguo 25-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Que yo sepa no hay ninguna forma de hacer esto en Interbase 5, dentro de un procedimiento almacenado. Solo se puede hacer en el nuevo Firebird 1.5 gracias a la adición de la sentencia execute statement.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 25-03-2004
Avatar de Triton
Triton Triton is offline
Miembro
 
Registrado: nov 2003
Ubicación: Murcia
Posts: 37
Poder: 0
Triton Va por buen camino
Post Gracias

Muchas Gracias GillotMarc.
Sé que execute statement existe en Interbase 5.6, pero no tengo NPI de como se utiliza. Si alguien me pudiera echar un cable se lo agradecería.

De todos modos muchas gracias por la respuesta
__________________
La ignorancia es la felicidad
Responder Con Cita
  #4  
Antiguo 25-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por Triton
Sé que execute statement existe en Interbase 5.6, pero no tengo NPI de como se utiliza.
quizás te sirva este enlace http://www.clubdelphi.com/foros/show...cute+statement
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 10:44:59.


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