es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminar todas las restricciones de una tabla en Oracle.

Chicos, mi pregunta es: no conozco los nombres de las restricciones que he agregado a una tabla. Pero necesito eliminar o desactivar todas esas restricciones de clave externa. ¿Cómo lo hago?

SQL> desc orders;

Nombre Nulo? Tipo


ORDER_ID NO NULO VARCHAR2(10)
PRODUCT_ID VARCHAR2(10)
DATE_OF_ORDER TIMESTAMP(6)
CUST_ID VARCHAR2(10)
QUANTITY NUMBER(38)
TOTAL_PRICE FLOAT(10)
DELIVERY_STATUS VARCHAR2(10)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para eliminar o desactivar todas las restricciones de clave externa de la tabla “orders”, puedes ejecutar los siguientes comandos SQL:

    SELECT constraint_name
    FROM user_constraints
    WHERE table_name = 'ORDERS' and constraint_type = 'R';
    
    -- Esto mostrará los nombres de todas las restricciones de clave externa en la tabla "orders".
    
    ALTER TABLE orders DISABLE CONSTRAINT <constraint_name>;
    
    -- Esto desactivará la restricción de clave externa identificada por <constraint_name>.
    
    ALTER TABLE orders DROP CONSTRAINT <constraint_name>;
    
    -- Esto eliminará la restricción de clave externa identificada por <constraint_name>.
    

    Reemplaza <constraint_name> con el nombre real de la restricción que se muestra en el resultado de la primera consulta SQL.

Comments are closed.