![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
||||
|
||||
Trigger en Firebird
Tengo un Trigger en el evento Before Insert que funciona perfectamente.
Pero cuando intento poner otro Trigger en otros eventos como After Insert, me da un mensaje de error el el nombre del campo. Incluso copiando el anterior me da error
Este es el error: Dynamic SQL Error. SQL error code = -206. Column unknown. CODDOCUMENTO. At line 8, column 7. Alguien tiene ejemplos hechos por él de triggers? Podría mostrar alguno? No entiendo por qué da error en los nombres de los campos, que están correctamente escritos.
__________________
Blog Delphi XE |
#2
|
||||
|
||||
Hola,
¿Antoniov llevas ya tiempo pegado frente a la PC? De ser así sugiero que descanses... despégate de la computadora. Duerme bien y pon tu mente en blanco. Cuando te hayas despejado siéntate porque debo darte unas noticias que te pondrán más furioso. ¿Me creerías si te digo que tu error es de esos bien tontos y que te rompen la cabeza por nada? Si... es de esos ¡no mates al mensajero! ![]() Fíjate que en la línea 8, columna 7 dice CODDOCUMENTO. Allí falta algo... ¡NEW! Y también en la declaración del triggers falta el FOR <tabla> ![]() Saludos, |
#3
|
|||
|
|||
Hola antonio, en los triggers AFTER no puedes modificar valores de la misma tabla. Para cambiar los valores del registro que se esta insertando se usan los triggers BEFORE INSERT, para los valores que se estan actualizando el trigger BEFORE UPDATE.
Cuando se ejecutan los eventos AFTER (AFTER INSERT/AFTER UPDATE) ya los registros han sido almacenados en la base de datos, todavia se tiene acceso al registro NEW pero ya no se le pueden asignar valores.
__________________
Saludos Alfredo |
#4
|
||||
|
||||
Solucionado
Gracias por vuestra ayuda.
Al final, el problema real no era tan real. Para gestionar la base de datos uso el programa SQL Manager Lite 2008. Es una versión GRATUITA que sacaron y que luego quitaron. Si alguien la quiere se la puedo enviar. Es genial, te permite crear y manipular una base de datos (Firebird, Interbase, ....) incluso sin apenas tener idea de SQL ni de nada. Pero tiene algunos bugs, y anoche encontré uno más. Cuando escribes un Script y lo compilas, si da error la primera vez, ya no encuentro forma de que la compilación funcione, por más que lo corrijas. Hay que copiar el script, anular los cambios. Creas uno nuevo y le pegas el script que daba error y ya está. De lo contrario no hay forma. Si alguien lo usa me lo dice y le comento otros bugs que he encontrado y que le he buscado una alternativa. Un saludo y gracias
__________________
Blog Delphi XE |
#5
|
||||
|
||||
Mejor será usar otro sql manager
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
Utiliza IBExpert que tiene una versión gratuita aunque no completa. Pero lo que tienes es por lo lejos más de lo que te imaginas... Si la edición Personal es limitada, ¡no quiero ni pensar como será la completa!
Y también está FlameRobin que Open Source y además Multiplataforma. Con IBExpert y FlameRobin dejarás atrás las renegadas. Saludos, |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No Encuentro el Error del Trigger en FireBird 2.5 | teletranx | Firebird e Interbase | 7 | 06-06-2011 22:03:25 |
Trigger Firebird | tec | Firebird e Interbase | 3 | 04-10-2010 21:46:43 |
trigger y firebird | ebeltete | Firebird e Interbase | 1 | 22-06-2007 15:03:38 |
No ejecuta Trigger en Firebird | Coco | Firebird e Interbase | 5 | 09-01-2007 17:43:48 |
como sincronizo el Commit de mi api con un trigger en Firebird | cesar_picazo | Conexión con bases de datos | 1 | 11-10-2004 18:31:31 |
![]() |
|