2012-03-02 19 views
6

¿Cómo puedo verificar si una columna en una tabla tiene una restricción no nula en un oráculo db? ¿Se puede verificar con el diccionario de datos?cómo comprobar la restricción de columna no nula en Oracle sql?

+3

Esta pregunta se hizo antes, echar un vistazo: [stackoverflow columna anulable] [1] [1]: http://stackoverflow.com/questions/1028956/modify-column-in -oracle-how-to-check-if-a-column-is-nullable-before-setting-to – matlabit

Respuesta

13
SELECT nullable 
    FROM all_tab_cols 
WHERE owner = <<owner of table>> 
    AND table_name = <<name of table>> 
    AND column_name = <<name of column>> 

funcionará asumiendo la columna se marcó NO NULL en lugar de, por ejemplo, tener una restricción CHECK que comprueba que no es NULL.

+2

Las personas que usan restricciones de verificación en lugar de la columna DDL para definir no nulo columo.ns deben ser severamente habladas. – APC

+1

@APC, acordado, pero internamente Oracle representa esas columnas 'NOT NULL' con restricciones de verificación. Son completamente indistinguibles de 'ALL_CONSTRAINTS'. RRgghgh. > :-( –

Cuestiones relacionadas