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

Loại bỏ lỗi ORA-00942 trong tập lệnh tạo ddl

Tốt nhất là chúng ta nên duy trì lược đồ của mình đúng cách, sử dụng các phương pháp hay nhất về quản lý cấu hình và kiểm soát nguồn. Trong trường hợp này, chúng ta biết trước liệu lược đồ mà chúng ta chạy các tập lệnh của chúng ta có chứa các bảng đó hay không. Chúng tôi không gặp lỗi vì chúng tôi không cố gắng loại bỏ các bảng không tồn tại.

Tuy nhiên không phải lúc nào bạn cũng có thể làm được điều này. Một cách tiếp cận thay thế là có hai tập lệnh. Tập lệnh đầu tiên chỉ có các câu lệnh DROP TABLE, được mở đầu bằng một

thân thiện
PROMPT  It is safe to ignore any ORA-00942 errors in the following statements

Tập lệnh thứ hai có tất cả các câu lệnh CREATE TABLE và dẫn đầu bằng

PROMPT  All the statements in this script should succeed.  So investigate any errors

Một tùy chọn khác là sử dụng từ điển dữ liệu:

begin
    for r in ( select table_name from user_tables )
    loop
        execute immediate 'drop table '||r.table_name
                    ||' cascade constraints';
    end loop;
end;

Hãy cẩn thận với điều này. Nó là tùy chọn hạt nhân và sẽ loại bỏ mọi bảng trong lược đồ của bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01843:không phải là tháng hợp lệ

  2. Cách bật trình giả lập Genymotion để sử dụng Internet WIFI mà máy chủ đang sử dụng

  3. Cuộc phiêu lưu mua hàng nhẹ nhàng

  4. Sự chênh lệch ngày tháng trong Oracle để lấy số năm

  5. Tạo một bảng / chế độ xem phẳng của một tập hợp dữ liệu được xác định theo thứ bậc