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

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


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,.....)

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.