![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
![]() Hola! necesito borrar de dos tablas un registro que se encuentra ligado por una matricula, la primera tabla es de alumnos y la segunda de calificaciones hice las tablas en access y tienen identidad referencial, la relación es de uno a muchos, pero al ejecutar el siguiente query en delphi no me borra en ninguna de las tablas aunque las dos condiciones se cumplan y el cursor se pone como sql:
Query1.sql.Clear; query1.SQL.Add('delete from alumnos where '); query1.SQL.Add('alumnos.Matricula in (select Matricula from calificacion where calificacion.calificacion= ![]() query1.ParamByName('param1').AsInteger:=strtoint(edit1.text); query1.ExecSQL; La idetidad referencial basta para eliminar los datos de las dos tablas o si alguien me puede decir el query para borrar los registros de las dos tablas se lo agradeceria mucho. ![]() |
#2
|
||||
|
||||
Bueno primero comentar que te has equivocado no es identidad sino integridad, supongo que te has despistado.
Si en Access declaras la integridad referencial entre las dos tablas y además marcas la opción "Eliminación en Cascada", bastará con eliminar un registro de la tabla maestra y quedarán eliminados todos los correspondientes del detalle, pero sino lo has hecho así,primero tendrás que borrar todos los correspondientes del detalle y finalmente el registro maestro. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
![]() |
#3
|
||||
|
||||
![]() Muchisimas gracias, sigo probando y en sql 2000 server sabe cómo se haria para decirle que elimine en cascada?
Saludos Toño |
#4
|
||||
|
||||
si SQL 2000 Server cumple con el estándar SQL, al crear la relación de integridad basta añadir al final la clausula on delete cascade.
Alter table tabla add foreign key (campos) references tabla2 (campos) on delete cascade. También hay actualizaciones en cascada, que se definen con on update cascade. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
|
|
![]() |
|