Cómo alterar la restricción

91

SQL Cómo alterar la restricción

A continuación se muestra 1 de mi restricción

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),

Quiero agregar

ON DELETE CASCADE

a la restricción anterior.

¿Cómo modifico esa restricción existente ACTIVEPROG_FKEY1 y agrego

ON DELETE CASCADE

para restringir ACTIVEPROG_FKEY1

Considere ACTIVEPROG_FKEY1 está en la mesa ACTIVEPROG

usuario1777711
fuente

Respuestas:

147

No puede alterar las restricciones nunca, pero puede eliminarlas y luego volver a crearlas.

Mira esto

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;

y luego recrearlo ON DELETE CASCADEasí

ALTER TABLE your_table
add CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;

espero que esto ayude

usuario1819920
fuente
puede habilitar / deshabilitar restricciones.
Florin Ghita
1
@FlorinGhita, sí, podemos habilitar / deshabilitar ............... A veces es útil deshabilitar una o más restricciones en una tabla, hacer algo significativo y luego volver a habilitar la constancia ) después de que hayas terminado. Esto se hace con mayor frecuencia para mejorar el rendimiento durante una operación de carga masiva.
Andy
12

No. No podemos modificar la restricción, lo único que podemos hacer es eliminarla y volver a crearla.

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]

Restricción de clave externa

Alter Table Table1 Add Constraint [CONSTRAINTNAME] Foreign Key (Column) References Table2 (Column) On Update Cascade On Delete Cascade

Restricción de clave principal

Alter Table Table add constraint [Primary Key] Primary key(Column1,Column2,.....)
Andy
fuente
6
Es cierto que lo que quiere el OP no es posible, pero ¿por qué publica un enlace a un sitio de SQL Server para una pregunta etiquetada como Oracle?
Frank Schmitt