![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
update o delete en external table
Buenas noches
Uso la version 2.5 de firebird Tengo una duda sobre tablas externas Al querer borrar un registro o todos los registros de una tabla externa aparede el mensaje "Cannot delete rows from external files." De igual forma si deseo modificar algun registro aparece el mensaje "Cannot update rows in external files." Existe alguna forma de actualizar los datos de este tipo de tablas ? o solo se puede insertar informacion en ellas Gracias por sus respuesta |
#2
|
||||
|
||||
Creo que es así:
Actualizar creo que no puedes, una tabla externa es un "enlace" a un fichero externo, y que yo sepa no puedes modificar desde firebird (no sé si en las últimas versiones se puede)
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Update o delete en external table
Casimiro
Gracias por la respuesta, busque sobre el tema y al parecer no se pueden realizar "delete" ni "update" en estas tablas de tipo externas ![]() |
#4
|
||||
|
||||
¿Tampoco se puede así?:
¿Lo has probado?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
update o delete en external table
Gracias Casimiro
Con esta instruccion delete from ET_Inventario -sale el mensaje "Cannot delete rows from external files." Si quiero borrar la tabla DROP TABLE ET_Inventario - No me lo permite hacer pues tengo unos triggers activos Necesito tener un inventario consolidado de dos bases de datos diferentes y que este inventario se pueda consultar en cualquiera de las dos bases de datos Los datos del inventario estan en cada base de datos en una tabla que "no" es externa INVENTARIO y en esta se realiza la edicion, insercion y borrado de los registros. Ya solucione el problema utilizando triggers en la tabla INVENTARIO 1. Cuando eliminan un registro inserto en la tabla externa ET_inventario, un registro con la transaccion old.entrada o old.salida pero signo contrario. 2. Cuando modifican inserto dos registros en la tabla externa ET_inventario, los datos antiguos old.entrada u old.salida con signo contrario y el registro nuevo new.entrada o new.salida con el signo real. 3. Cuando insertan se inserta en ET_inventario el registro tal como se digito en la tabla original, new.entrada o new.salida Despues realizo la consulta realizando la sumatoria para optener el dato consolidado Hice un procedimiento que me reconstruye la tabla externa con los datos ya sumarizados, lo ejecutan periodicamente, semanal o mensual, el problema que tengo es que no he podido dejar en blanco el archivo de la tabla externa ni borrarlo, el usuario lo hace manualmente No puedo borrar la tabla por los trigger y tendria que crearlas nuevamente en la base de datos. Gracias |
#6
|
||||
|
||||
Pero no has contestado a mi pregunta
![]() EDITO: ahora veo, sí has contestado ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
La cuestión es que una tabla externa no está pensada para ser como una tabla más de una base de datos. Sino como una manera de "exportar" información para ser consumida por medios no convencionales o que no requieren de una conexión directa con la base de datos.
Por ejemplo para presentar un resumen de ventas por única vez en un archivo Excel, se puede generar una tabla externa desde una consulta y luego pasar esta información a Excel. De esta manera no se corre el peligro de borrar algún registro o que se modifique algo por accidente. Ten en cuenta que una tabla externa es un simple archivo, no tiene porqué ni estar pensado para hacer de otra tabla más. Si lo que buscas es tener la información constantemente actualizada y uniforme, entonces crea una tabla más en la base de datos, que es lo más fácil y recomendable. O bien, crea una segunda base de datos que contenga las tablas que requieras e implementas los mecanismos para "sincronizar" ambas base de datos. Repito: no puedes pedir a una tabla externa que se comporte como una tabla normal de una base de datos. Saludos, |
#8
|
||||
|
||||
La tabla externa se puede acceder con el Bloc de Notas de Windows. Ya que es de formtao Texto *.TXT.
|
#9
|
||||
|
||||
Así es, un fichero de texto.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#10
|
||||
|
||||
Ya para terminar, control total con FireDAC
El Generador ya se puede controlar a gusto del poeta. Con este código:
Creo que puede ser útil. Pero tal vez no esté en el hilo apropiado. Saludos. bulc Última edición por bulc fecha: 08-03-2018 a las 18:16:30. |
#11
|
||||
|
||||
Un generador es un número automático incremental, no debería ser editado por nosotros en ningún caso.
Y si hace falta editarlo, entonces es que se está haciendo un mal uso del mismo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Trigger Before (Insert,update,delete)? | estebanx | MS SQL Server | 2 | 25-05-2006 15:58:19 |
Delete from table | dmagui | Firebird e Interbase | 2 | 11-08-2005 21:49:39 |
Error con Update y Delete | c748a | SQL | 4 | 15-06-2005 15:23:03 |
table.delete, pero no reduce tamaños tablas | jonmendi | Conexión con bases de datos | 3 | 19-02-2005 09:34:45 |
Utilización del EXTERNAL con CREATE TABLE | feruiz | Firebird e Interbase | 4 | 01-06-2004 07:15:27 |
![]() |
|