primaria modificar llave foreign drop deshabilitar constraint borrar sql oracle constraints

sql - modificar - Oracle encuentra una restricción



modificar llave primaria oracle (3)

Tengo una restricción llamada users.SYS_C00381400 . ¿Cómo encuentro cuál es esa restricción? ¿Hay alguna forma de consultar todas las restricciones?


Para obtener una descripción más detallada (qué tabla / columna hace referencia a qué tabla / columna) puede ejecutar la siguiente consulta:

SELECT uc.constraint_name||CHR(10) || ''(''||ucc1.TABLE_NAME||''.''||ucc1.column_name||'')'' constraint_source , ''REFERENCES''||CHR(10) || ''(''||ucc2.TABLE_NAME||''.''||ucc2.column_name||'')'' references_column FROM user_constraints uc , user_cons_columns ucc1 , user_cons_columns ucc2 WHERE uc.constraint_name = ucc1.constraint_name AND uc.r_constraint_name = ucc2.constraint_name AND ucc1.POSITION = ucc2.POSITION -- Correction for multiple column primary keys. AND uc.constraint_type = ''R'' AND uc.constraint_name = ''SYS_C00381400'' ORDER BY ucc1.TABLE_NAME , uc.constraint_name;

Desde here .


tal vez esto puede ayudar ...

SELECT constraint_name, constraint_type, column_name from user_constraints natural join user_cons_columns where table_name = "my_table_name";


select * from all_constraints where owner = ''<NAME>'' and constraint_name = ''SYS_C00381400'' /

Como todas las vistas del diccionario de datos, esta es una vista USER_CONSTRAINTS si solo desea verificar su esquema actual y una vista DBA_CONSTRAINTS para los usuarios de administración.

La construcción del nombre de restricción indica un nombre de restricción generado por el sistema. Por ejemplo, si especificamos NOT NULL en una declaración de tabla. O, de hecho, una clave primaria o única. Por ejemplo:

SQL> create table t23 (id number not null primary key) 2 / Table created. SQL> select constraint_name, constraint_type 2 from user_constraints 3 where table_name = ''T23'' 4 / CONSTRAINT_NAME C ------------------------------ - SYS_C00935190 C SYS_C00935191 P SQL>

''C'' para verificar, ''P'' para primario.

En general, es una buena idea dar a las restricciones relacionales un nombre explícito. Por ejemplo, si la base de datos crea un índice para la clave principal (lo que hará si esa columna no está ya indexada) usará el nombre de restricción o nombre del índice. No desea una base de datos llena de índices nombrados como SYS_C00935191 .

La mayoría de las personas no se molestan en nombrar restricciones NOT NULL.