FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
FIrebird: Eliminar tablas segun un patron
Haber si alguien me puede ayudar con este sql:
Quiero borrar todas tablas segun un padron. Por ejemplo, todas las que empizen por 'DIA_'. He probado varias cosa, como por ejemplo: Código:
drop table in (select RDB$RELATION_NAME from RDB$RELATIONS where RDB$RELATION_NAME starting with 'DIA_') Aguna sugerencia? Gracias. |
#2
|
||||
|
||||
Hola.
Prueba utilizando el EXECUTE STATEMENT y construyendo en un bucle las sentencias de las tablas a eliminar. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
||||
|
||||
No he utilizado nunca EXECUTE STATAMENT pero mirando en los foros entiendo que se utiliza para crear procedimientos almacenados. ¿EStoy entendiendolo bien? Y lo que busco es crear un script sql para ejecutar en el IbExpert.
He probado: Código:
declare tabla varchar(15); declare borra varchar(100) = 'drop table :tabla'; begin for select RDB$RELATION_NAME from RDB$RELATIONS where RDB$RELATION_NAME starting with 'EXPRH' do execute statement (borra) (tabla := RDB$RELATION_NAME); end; |
#4
|
||||
|
||||
Hola.
Exacto, deberías usarlo en un procedimiento almacenado. Aunque eso no tiene porqué ser ningún inconveniente. Tu script sql puede crear el procedimiento almacenado (create procedure ... ...), ejecutarlo (execute procedure ... ...) y finalmente eliminarlo (drop procedure ... ...). Respecto al problema que tienes con la declaración de variables, este tipo de declaraciones van dentro de un procedimiento almacenado (el IB-Expert ya creará por ti la sección declare). Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
||||
|
||||
Ya... Necesitaba hacerlo sin procedimiento almacenado.
Gracias de todos modos. Esperaré a ver si alguien me puede orientar. Todo esto es para evitar meter en un sql con un churro de drop table. |
#6
|
||||
|
||||
Hola.
¿ Quieres ejecutar un Script SQL en el IB-Expert pero no quieres que tenga procedimientos almacenados ?. ¿ Porqué razón ?, como ya te he comentado, el procedimiento almacenado no tiene porqué existir previamente, lo puedes crear y destruir en el mismo script en que se ejecuta. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#7
|
||||
|
||||
Si. Desde una aplicación de escritorio tengo una opción que es cargar scripts sql que se ejecutan contra la base de datos a la que está conectado. Lo utilizo para harcer mantenimientos específicos para algun cliente. Por esto lo del script y no ir creando procedimientos para cada cosa que hago con este sistema.
|
#8
|
||||
|
||||
Cita:
Ya se que me estoy repitiendo más que el ajo, , pero ¿ de verdad has entendido la parte de que dentro de un único Script puedes crear un procedimiento almacenado, ejecutarlo y finalmente eliminarlo para que toda la estructura de la base de datos vuelva a estar como al principio ?.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿como eliminar registro de tablas en firebird? | JXJ | Firebird e Interbase | 7 | 23-09-2010 23:10:18 |
Control de Usuarios segun Tablas | diegonazaruka | Firebird e Interbase | 10 | 22-03-2010 18:46:52 |
Eliminar archivos segun su extension | ZayDun | Varios | 2 | 14-07-2008 16:38:23 |
Error al eliminar 3 tablas de b.d. SQL Server | Delphiboy | Conexión con bases de datos | 1 | 03-09-2005 19:36:49 |
Eliminar registros en tablas enlazadas | vhirginia | Conexión con bases de datos | 12 | 29-04-2004 23:35:08 |
|