Lệnh bạn đang tìm là:
alter table tblName drop column columnName
ở đâu tblName
là tên của bảng và columnName
là tên của cột, nhưng có một số điều bạn có thể cần làm trước tiên.
- Nếu có bất kỳ tham chiếu khóa ngoại nào đến cột, trước tiên bạn cần loại bỏ chúng.
- Nếu có một chỉ mục sử dụng cột đó, bạn cần phải loại bỏ nó hoặc điều chỉnh nó để không sử dụng cột đó.
Hãy nhớ rằng hiệu suất của lệnh này có thể không nhất thiết phải tốt. Một tùy chọn là đợi một khoảng thời gian ngừng hoạt động khi bạn có thể chắc chắn sẽ không có ai truy cập vào cơ sở dữ liệu, đổi tên bảng hiện tại, sau đó sử dụng create table
và insert into ... select from
để chuyển các cột bạn không muốn xóa.
Một trong những bản phát hành sau này của Oracle thực sự có tính năng xóa mềm có thể chỉ đánh dấu một cột là không được sử dụng mà không cần xóa nó về mặt vật lý. Nó có tác dụng tương tự vì bạn không thể tham chiếu nó nữa và có một lệnh dọc theo các dòng của alter table ... drop unused columns
có nghĩa là được chạy trong thời gian yên tĩnh, mà công việc khó khăn là thực sự loại bỏ nó về mặt vật lý.
Điều này có lợi thế là làm "biến mất" các cột ngay lập tức mà không kéo giảm hiệu suất cơ sở dữ liệu trong thời gian bận rộn.