alter table MYTABLE modify (MYCOLUMN null);
Trong Oracle, các ràng buộc không null được tạo tự động khi không chỉ định null cho một cột. Tương tự như vậy, chúng tự động bị loại bỏ khi cột được thay đổi để cho phép giá trị rỗng.
Làm rõ câu hỏi đã sửa đổi :Giải pháp này chỉ áp dụng cho các ràng buộc được tạo cho các cột "không rỗng". Nếu bạn chỉ định "Khóa chính" hoặc một ràng buộc kiểm tra trong định nghĩa cột mà không đặt tên cho nó, bạn sẽ kết thúc với một tên do hệ thống tạo cho ràng buộc (và chỉ mục, cho khóa chính). Trong những trường hợp đó, bạn cần biết tên để bỏ nó. Lời khuyên tốt nhất là tránh trường hợp này bằng cách đảm bảo bạn chỉ định tên cho tất cả các ràng buộc khác với "not null". Nếu bạn thấy mình ở trong tình huống cần loại bỏ một trong những ràng buộc nói chung, có thể bạn sẽ cần sử dụng đến PL / SQL và các bảng định nghĩa dữ liệu.