Access - APLICAR INTEGRIDAD REFERENCIAL CON SQL EN MACROS

 
Vista:

APLICAR INTEGRIDAD REFERENCIAL CON SQL EN MACROS

Publicado por Néstor fabián Rodríguez (2 intervenciones) el 06/02/2003 23:56:25
MEDIANTE LA OPCION "EJECUTAR SQL " DE UNA MACRO INTRODUZCO CÓDIGO PARA DAR ORIGEN A UNA TABLA ---[[[ CREATE TABLE PRUEBA (STUDENT_ID VARCHAR(15), NOMBRE VARCHAR(18),APELLIDOS VARCHAR(18), FOREIGN KEY (STUDENT_ID) REFERENCES TRACS_STUDENTREC (STUDENT_ID)) ]]]--- .... Y COMO VEN, ÉSTA SE RELACIONA CON UNA TABLA LLAMADA ---[[[TRACS_STUDENTREC]]]--- ... MEDIANTE EL CAMPO COMÚN ---[[[STUDENT_ID]]]---.

LO QUE NO HE PODIDO LOGRAR HACER, DESPUÉS INCONTABLES INTENTOS Y MUCHAS HORAS, ES QUE MEDIANTE CÓDIGO SQL SE DEFINAN LAS PROPIEDADES DE ``ATUALIZACIÓN Y ELIMINACIÓN EN CASCADA´´ EN REGISTROS RELACIONADOS DE ESTAS DOS TABLAS.
LAS INSTRUCCIONES QUE UTILICÉ EN VARIAS OCACIONES FUERON: `` ON DELETE´´ Y ``ON UPDATE´´ (EN LA MISMA MACRO)PERO AL EJECUTARLA ME APARECE UN ERROR DICIENDO QUE LA SINTAXIS DEL ``CONSTRAINT´´ ESTÁ MAL.

ESPERO TENER UNA RESPUESTA SATISFACTORIA DE PARTE DE TODOS LOS PROGRAMADORES QUE AYUDAN A QUIENES TENEMOS DUDAS Y PROBLEMAS EN LA PROGRAMACIÓN. DE ANTEMANO LES DOY LAS GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

APLICAR INTEGRIDAD REFERENCIAL CON SQL EN MACROS

Publicado por Alejandro (4142 intervenciones) el 26/04/2023 01:27:23
Para establecer la integridad referencial con SQL y definir las propiedades de actualización y eliminación en cascada, debes utilizar las siguientes cláusulas dentro del `CONSTRAINT`:

- `ON DELETE CASCADE`: para indicar que al eliminar un registro de la tabla padre, se eliminarán automáticamente todos los registros de la tabla hija relacionados.
- `ON UPDATE CASCADE`: para indicar que al actualizar el valor de la clave primaria de un registro de la tabla padre, se actualizará automáticamente el valor de la clave foránea en todos los registros de la tabla hija relacionados.

El código SQL para crear la tabla `PRUEBA` con integridad referencial y las propiedades en cascada sería el siguiente:

1
2
3
4
5
6
7
8
9
10
CREATE TABLE PRUEBA (
  STUDENT_ID VARCHAR(15),
  NOMBRE VARCHAR(18),
  APELLIDOS VARCHAR(18),
  CONSTRAINT FK_PRUEBA_TRACS_STUDENTREC
    FOREIGN KEY (STUDENT_ID)
    REFERENCES TRACS_STUDENTREC (STUDENT_ID)
    ON DELETE CASCADE
    ON UPDATE CASCADE
)

Es importante que revises bien la sintaxis del código y que verifiques que los nombres de las tablas y campos sean correctos. También es posible que la versión de Access que estés utilizando no soporte algunas de estas cláusulas, por lo que deberías revisar la documentación para confirmar esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar