none
Delete en Cascada RRS feed

  • Pregunta

  • Tengo 2 tablas A y B

    Con sus PK y FK, en un diagrama esta definido el delete en cascada y funciona correctamente.

    Como puedo ver las definiciones de actualziaciones en cascada sin usar el diagrama ? , solo con sp_help ?

    me muestra:

    constraint_type    constraint_name    delete_action    update_action    status_enabled    status_for_replication    constraint_keys
    FOREIGN KEY    FK_B_A    Cascade    No Action    Enabled    Is_For_Replication    id
                                  REFERENCES test2.dbo.A (id)

    NO hay algun script que digamos me muestre esta info de otra manera ?


    DBA SQL Server Santiago/Chile

    martes, 17 de mayo de 2016 23:05

Respuestas

  • CMAPM,

    De acuerdo, quizá esto te sea mas útil.

    SELECT 
    	v2.TABLE_NAME,
    	v1.CONSTRAINT_NAME,	
    	v1.UPDATE_RULE,
    	v1.DELETE_RULE
    FROM 
    	INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS v1
    	INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS v2 ON (v2.CONSTRAINT_NAME = v1.CONSTRAINT_NAME)

    • Propuesto como respuesta José De Alva miércoles, 25 de mayo de 2016 15:44
    • Marcado como respuesta José De Alva jueves, 26 de mayo de 2016 21:54
    martes, 17 de mayo de 2016 23:16

Todas las respuestas

  • Hola CMAPM,

    ¿De qué manera? Quizá debas especificar los requerimientos con algo de detalle.

    Por lo pronto, puedes listar todas las restricciones de tipo FK y ver en las dos últimas columnas las reglas de eliminación y actualización

    SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

    martes, 17 de mayo de 2016 23:09
  • Expongo dicho ejemplo, pues tengo un diagrama con muchas tablas y varios de ellos estan con delete en cascada y me es muy largo ir usando sp_help en cada tabla para pesquisar cuales estan con delete en cascada.

    DBA SQL Server Santiago/Chile

    martes, 17 de mayo de 2016 23:09
  • CMAPM,

    De acuerdo, quizá esto te sea mas útil.

    SELECT 
    	v2.TABLE_NAME,
    	v1.CONSTRAINT_NAME,	
    	v1.UPDATE_RULE,
    	v1.DELETE_RULE
    FROM 
    	INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS v1
    	INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS v2 ON (v2.CONSTRAINT_NAME = v1.CONSTRAINT_NAME)

    • Propuesto como respuesta José De Alva miércoles, 25 de mayo de 2016 15:44
    • Marcado como respuesta José De Alva jueves, 26 de mayo de 2016 21:54
    martes, 17 de mayo de 2016 23:16