Oracle
 sql >> база данни >  >> RDS >> Oracle

Избягване на ORA-00955:името вече се използва от съществуващ обект

Това е така, защото сте поставили наклонена черта / в края на скрипта.

Поради което предишният оператор в буфера се изпълнява отново. Което означава, че изявлението CREATE TABLE се изпълнява два пъти .

Премахнете наклонената черта от края. Точката и запетая е достатъчна като терминатор за отделни заявки.

Ето как бих направил:

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>

Като каза това, имате множество проблеми в скрипта.

Не можете да имате интервал в името на колоната. COL 1 е невалидно име на колона. Ще получите Грешка за невалиден идентификатор .

Друг проблем:

Има допълнителна запетая в края на списъка с колони .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Invoke REST Service от pl/sql

  2. Резултатът от SQL Query във VBA е различен от този в SQL Oracle

  3. Използването на ключовата дума DISTINCT причинява тази грешка:не е ИЗБРАН израз

  4. Как да сравняваме числови стойности в едни и същи колони за множество колони с помощта на Oracle SQL

  5. HikariCP 1.4.0 MBean InstanceNotFoundException