Escolar Documentos
Profissional Documentos
Cultura Documentos
Firebird SQL
Teoría y Práctica sobre Firebird
Cuando una Base de Datos puede ser accedida desde varias aplicaciones es muy
importante saber cual aplicación insertó las filas que tiene cada tabla.
¿Por qué?
¿Qué necesitaremos?
1. Una tabla APLICACIONES, para guardar los nombres de las aplicaciones que
pueden usarse
2. Una tabla GTT, para guardar los datos de la conexión actual, incluyendo el
Identificador de la aplicación usada para el acceso
3. Un trigger de Base de Datos que le inserte una fila a la tabla GTT
4. Desde nuestra aplicación actualizar la tabla GTT para que tenga el
Identificador de aplicación correcto
5. Agregarle una columna a todas las tablas que pueden usarse por más de una
aplicación
6. Dos excepciones, para mostrar los mensajes de error
7. Agregarle un trigger a cada tabla que puede usarse por más de una aplicación,
para decidir si la fila puede ser modificada o eliminada
Tabla APLICACIONES
https://firebird21.wordpress.com/2014/01/02/conociendo-la-aplicacion-que-inserto-filas-a-una-tabla/ 1/5
6/1/2018 Conociendo la aplicación que insertó filas a una tabla | Firebird SQL
El contenido de esta tabla podría ser algo así:
Ejemplo:
Y para ver los nombres de las aplicaciones que insertaron las filas podríamos
escribir algo como:
1 SELECT
2 C.CLI_IDENTI,
3 C.CLI_NOMBRE,
4 C.CLI_IDEAPL,
5 A.APL_NOMBRE AS CLI_NOMAPL
6 FROM
7 CLIENTES C
8 JOIN
9 APLICACIONES A
10 ON C.CLI_IDEAPL = A.APL_IDENTI
https://firebird21.wordpress.com/2014/01/02/conociendo-la-aplicacion-que-inserto-filas-a-una-tabla/ 2/5
6/1/2018 Conociendo la aplicación que insertó filas a una tabla | Firebird SQL
Aquí como puedes ver las filas de MARCELA, DIANA y MIRTA fueron
insertadas por CONTABILIDAD, en cambio la fila de SILVIA fue insertada por
FACTURACIÓN. Eso implica que si debemos modificar o borrar las filas de
MARCELA, DIANA, o MIRTA deberemos hacerlo desde la CONTABILIDAD y
si queremos modificar o borrar la fila de SILVIA deberemos hacerlo desde
FACTURACIÓN.
Esto nos asegura que nunca una aplicación modifique o borre las filas que no
le corresponden.
Terminando:
Y listo, eso es todo, ahora solamente la aplicación que insertó una fila podrá
modificar o borrar esa fila. Los intentos realizados por las demás aplicaciones
serán rechazados, como tiene que ser.
Conclusión:
Artículos relacionados:
https://firebird21.wordpress.com/2014/01/02/conociendo-la-aplicacion-que-inserto-filas-a-una-tabla/ 3/5
6/1/2018 Conociendo la aplicación que insertó filas a una tabla | Firebird SQL
Anuncios
Share this:
Twitter Facebook
Me gusta
Sé el primero en decir que te gusta.
Relacionado
Julio Romero
Sep 18, 2014 @ 19:47:31
Hola Don Walter. Un placer saludarle nuevamente. Antes le consulte por correo.
Buscando una solucion para mi pequenno problema, encontre su articulo. Yo
realizo algo parecido a todo el proceso que usted explica aca. En un campo
almaceno la hora en que se guarda el registro, especificamente. El tipo de dato del
campo es TIME. No obstante, al dejar un valor por defecto, CURRENT_TIME, para
el campo HORA, la hora del sistema se guarda bien, pero la fecha en todosssss los
registros me aparece 12/30/1899 15:45:23 y no es la fecha del dia de hoy. Al ser este
articulo relacionado, permitame preguntarle como corregir este detalle? He
investigado pero no logro dar en el clavo. Probe extraer la fecha con
CURRENT_DATE y funciona super bien, pero en CURRENT_TIME me da siempre
esa fecha erronea con la hora correcta.
Julio
Desde Managua, Nicaragua!
RESPONDER
wrov
Sep 18, 2014 @ 22:07:01
Saludos.
https://firebird21.wordpress.com/2014/01/02/conociendo-la-aplicacion-que-inserto-filas-a-una-tabla/ 4/5
6/1/2018 Conociendo la aplicación que insertó filas a una tabla | Firebird SQL
Walter.
RESPONDER
Responder
https://firebird21.wordpress.com/2014/01/02/conociendo-la-aplicacion-que-inserto-filas-a-una-tabla/ 5/5