Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Unikanie ORA-00955:nazwa jest już używana przez istniejący obiekt

To dlatego, że umieściłeś ukośnik / na końcu skryptu.

Dzięki temu poprzednia instrukcja w buforze jest ponownie wykonywana. Co oznacza, że ​​instrukcja CREATE TABLE jest wykonywana dwukrotnie .

Usuń ukośnik z końca. Średnik wystarczy jako terminator instrukcji dla poszczególnych zapytań.

Tak bym zrobił:

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>

To powiedziawszy, masz wiele problemów w skrypcie.

W nazwie kolumny nie może być spacji. COL 1 jest nieprawidłową nazwą kolumny. Otrzymasz Błąd nieprawidłowego identyfikatora .

Kolejny problem:

Jest dodatkowy przecinek na końcu listy kolumn .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plany wykonania Oracle przy użyciu operatora LIKE z funkcją DETERMINISTIC

  2. Oracle PL/SQL - Jak uniknąć dwukropka (:), błędnie interpretowanego dla zmiennej wiążącej?

  3. Jak połączyć się z bazą danych Oracle w R?

  4. Ukośnik czy nie ukośnik?

  5. Framework synchronizacji:Oracle/SQLServer