Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cắt ngắn bảng trong Oracle gặp lỗi

Bạn phải hoán đổi câu lệnh TRUNCATE thành câu lệnh DELETE, chậm hơn và được ghi lại nhưng đó là cách để thực hiện khi có các ràng buộc.

DELETE mytablename;

Hoặc bạn có thể tìm thấy các khóa ngoại đang tham chiếu đến bảng được đề cập và tạm thời vô hiệu hóa chúng.

select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';

Ở đâu pk-of-table là tên của khóa chính của bảng bị cắt bớt

Chạy đầu ra của truy vấn trên. Khi điều này đã được thực hiện, hãy nhớ kích hoạt lại chúng, chỉ cần thay đổi DISABLE CONSTRAINT vào ENABLE CONSTRAINT



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có vấn đề với các thực thể JPA, Oracle 10g và thuộc tính Loại lịch không?

  2. SQL. Làm thế nào để tham chiếu một khóa chính tổng hợp Oracle?

  3. Chèn ngày từ java vào Oracle DB

  4. SQL để xóa các bản sao trong bảng

  5. Bảng được tạo trong một thủ tục bị loại bỏ, Gặp lỗi biên dịch cho thủ tục