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.