FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Pueden tener disparadores (triggers) las vistas “Union”?
¡Hola a todos!
Trabajo en el desarrollo de una aplicación Delphi 7 de 2.5 capas*. La base de datos es Firebird 1.5. Ayer aprendí que no sólo las tablas pueden tener disparadores, también las vistas. De hecho, para que una vista sea de lectura y escritura (y pueda ser utilizada como si fuera una tabla) es necesario que tenga disparadores Before que realicen la acción correspondiente a la inserción, modificación o eliminación de registros. Bien, hoy, después de haber creado un disparador Before Insert para una de las vistas del proyecto, probé su funcionamiento agregando un registro a ésta (desde IBExpert). La operación falló, arrojando el siguiente mensaje de error compuesto: The cursor identified in the update or delete statement is not positioned on a row. no current record for fetch operation. attempted update of read-only column. Después de buscar soluciones a esto en la Red y hacer varias modificaciones a la vista y su disparador, descubrí que el error anterior ocurre, aparentemente, por tratarse de una vista que une dos tablas verticalmente (Select con Union). Cuando no utilizo Union, la operación se ejecuta sin problemas. ¿Será que no es posible emplear vistas Union para lectura y escritura en Firebird 1.5? Gracias por toda la ayuda que puedan proporcionarme. El código de la vista es el siguiente (aclarando que no fui yo el autor original):
Un abrazo unido. Al González. * Utilizo el término «2.5 capas» para referirme a una aplicación de dos capas (cliente-servidor) que ha sido estructurada de tal manera que facilitará la conversión a tres capas cuando surja esa necesidad. El código que deberá ir en el servidor de aplicaciones ya está aislado e identificado en su mayor parte. |
#2
|
||||
|
||||
Aún sin solución
¡Hola a todos!
No he podido resolver este problema todavía. Intentaré creando una vista de la vista (por cierto, sin el Güindous Vista que yo también recomiendo no instalar sino hasta el 2008 ). Los mantendré informados y estaré muy atento a cualquier sugerencia. Un abrazo disparado. Al González. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ERROR ORA-04082: referencias NEW u OLD no permitidas en disparadores a nivel de tabla | Jose Manuel | Oracle | 4 | 27-08-2007 16:07:20 |
Un Desafio, a ver si pueden... | pablo | OOP | 41 | 20-06-2005 18:12:21 |
triggers sobre vistas | marti | Firebird e Interbase | 4 | 21-09-2004 16:41:17 |
Union en BDE | eduarcol | SQL | 9 | 05-07-2004 18:49:10 |
Zeos y disparadores | xerkan | Firebird e Interbase | 1 | 23-09-2003 10:49:54 |
|