2012-03-02 28 views
6

Làm cách nào để kiểm tra xem một cột trong bảng có giới hạn không null trong một oracle db? Nó có thể được kiểm tra bằng từ điển dữ liệu không?làm thế nào để kiểm tra không ràng buộc cột null trong sql oracle?

+3

Câu hỏi này đã được hỏi trước đó, hãy xem: [stackoverflow cột nullable] [1] [1]: http://stackoverflow.com/questions/1028956/modify-column-in -oracle-how-to-check-if-a-column-is-nullable-before-setting-to- – matlabit

Trả lời

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

sẽ hoạt động giả định cột được đánh dấu NOT NULL thay vì, giả sử có giới hạn CHECK để kiểm tra xem đó có phải là NULL không.

+2

Những người sử dụng các ràng buộc kiểm tra chứ không phải cột DDL để định nghĩa không phải là columo.ns không được nói đến nghiêm trọng. – APC

+1

@APC, đã đồng ý, nhưng nội bộ Oracle đại diện cho những cột 'NOT NULL' có ràng buộc kiểm tra. Chúng hoàn toàn không thể phân biệt được từ 'ALL_CONSTRAINTS'. RRgghgh. > :-( –

Các vấn đề liên quan