![]() |
Obtener el nombre de la tabla desde un trigger
Hola, necesito obtener en Firebird, desde el codigo del trigger, el nombre de la tabla a la que pertenece el trigger, alguien conoce alguna constante o variable que me de esa informacion? lo necesito asi por que el trigger sera copiado a muchas otras tablas y me facilitaria la tarea, gracias saludos.
|
Pues no lo sé.
Se me ocurre usar un programa delphi con un IBScript, desde allí sería muy fácil incluir esa variable y ejecutar el Script dentro de un bucle (creando físicamente los trigger en la BD). Los nombres de las tablas podrías sacarlo del objeto TDatabase, mira sus métodos con el code insight. Saludos |
Bueno, tambien si hacemos una simple consulta a RDB$TRIGGERS podriamos traer ese dato asi:
|
Cita:
Es posible... sin embargo como obtengo el nombre del trigger desde el codigo del mismo trigger? |
¡Hola a todos!
Cita:
¿Será que tienes un procedimiento almacenado al que llamas desde disparadores de diferentes tablas, y es dentro de él donde necesitas el dato? Si ese es el caso, la solución sería que el procedimiento reciba un parámetro indicando el nombre de la tabla en cuestión. Aunque sería muy chévere que desde cualquier procedimiento pudiéramos saber si estamos o no en el contexto de un disparador y el nombre de éste. Más concretamente, qué tabla "ha llamado" a nuestro procedimiento. Ignoro si alguna base de datos tiene esa capacidad. No dejes de exponer los progresos del caso. Al González. :) |
Yo insisto en mi método, ya que sería extremadamente fácil, te pongo un ejemplo con generadores, que es más cortito:
El script quedaría así:
En lugar de añadir las cosas directamente al script, podemos tener un memo, donde verificamos las cosas e incluso podamos añadir más sentencias. En este programa solo necesitas un Tdatabase, un transaction y tu ventana principal con el memo. Tendrías las mismas posibilidades que en IB Expert, creando, eliminando triggers, etc. Saludos |
| La franja horaria es GMT +2. Ahora son las 03:17:49. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi