FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
borrar en detalle con ref en maestro
Hola, trabajo con Firdbird 2.0 y Delphi 5, tengo un a tabla maestro "clientes" y la table detalle "departamentos", tengo esta referencia:
ALTER TABLE clientes ADD CONSTRAINT FK_DEPTO FOREIGN KEY (cl_DEPTO) REFERENCES DEPARTAMENTOS (CODIGO) ON UPDATE CASCADE ON DELETE NO ACTION; cuando borro un registro en la tabla departamentos con una referencia en la tabla clientes, no me muestra ningun error y lo borra, pero cuando cierro y abro nuevamente la aplicacion, el registro aparece, o sea que en definitiva no lo borra de la bbdd, como hago para que me muestre un mensaje de que ese registro tiene referencias en algun cliente? Lo hago con una consulta sql antes de borrar o mediante cascade o no action hay alguna manera que la firebird me lo impida respondiendome con un mensaje? |
#2
|
|||
|
|||
pues lo que se me ocurre es hacer un trigger para el ondelete y verificar si tiene registros
|
#3
|
||||
|
||||
Resp
Lo que no te muestre el error es algo raro lo probaste con ibexpert. Estoy 100% seguro que con ibexpert te debe salir un error de violacion de integridad referencial lo cual no te permite borrar el registro. Ahora si es desde algun lengua como delphi puede ser error de aplicaion mas no de firebird. Y la solucion par arreglar el lo dle mensaje ya que no querrar que lance un mensaje de fireebird sino uno tuyo.
crea un evento before delete haces un select sobre cleintes donde poseea el departamento que se esta borrando (recuerdas usar old.campo y no new.campo) y si este es diferente de nulo lanzas la exception. Por seguraida a la variable que la vas a asignar el valor que devuelve el numero de registros le asignas nulo antes de asignarla.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema tabla Maestro-detalle en la q la pk de t.detalle formad por 2cods de la maes | akinom38 | Varios | 1 | 09-11-2007 19:27:44 |
Numerar el detalle Maestro / detalle en secuencia | josejose | SQL | 5 | 10-02-2007 00:27:38 |
Borrar lineas detalle al borrar registro maestro | akinom38 | Conexión con bases de datos | 3 | 11-01-2006 10:38:07 |
Reporte Maestro/Detalle/Detalle de 4 Tablas | jovehe | Impresión | 2 | 23-03-2005 01:25:02 |
Maestro-Detalle ;Actualizar detalle a partir de un DBgrid | norberto_larios | Conexión con bases de datos | 1 | 11-09-2004 18:17:34 |
|