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

Tránh ORA-00955:tên đã được sử dụng bởi một đối tượng hiện có

Đó là bởi vì bạn đã đặt một dấu gạch chéo / ở cuối tập lệnh.

Do đó, câu lệnh trước đó trong bộ đệm được thực thi lại. Có nghĩa là, câu lệnh CREATE TABLE được thực thi hai lần .

Bỏ dấu gạch chéo ở cuối. Dấu chấm phẩy đủ làm dấu chấm cuối câu lệnh cho các truy vấn riêng lẻ.

Đây là cách tôi sẽ làm:

SQL> BEGIN
  2     EXECUTE IMMEDIATE 'DROP TABLE TEMP_SOURCE';
  3  EXCEPTION
  4     WHEN OTHERS THEN
  5        IF SQLCODE != -942 THEN
  6           RAISE;
  7        END IF;
  8  END;
  9  /

PL/SQL procedure successfully completed.

SQL>
SQL> CREATE TABLE TEMP_SOURCE
  2    (
  3      COL_1 VARCHAR2(30 CHAR),
  4      COL_2 VARCHAR2(30 CHAR),
  5      COL_3 VARCHAR2(30 CHAR)
  6    );

Table created.

SQL>

Phải nói rằng, bạn có nhiều vấn đề trong tập lệnh.

Bạn không thể có khoảng trắng trong tên cột. COL 1 là một tên cột không hợp lệ. Bạn sẽ nhận được Lỗi số nhận dạng không hợp lệ .

Một vấn đề khác:

Có thêm một dấu phẩy cuối danh sách cột .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mã hóa trong ROracle

  2. Văn bản tìm kiếm Oracle với các ký tự không phải tiếng Anh

  3. Oracle sử dụng hoặc bỏ qua cột được lập chỉ mục tùy thuộc vào định dạng của to_date (nghĩa đen)

  4. Chọn từng hàng và chèn vào bảng khác

  5. Nhận dải địa chỉ IP từ xxx.xxx.xx.0 / 16