sql >> Base de Datos >  >> RDS >> Oracle

Evitar ORA-00955:el nombre ya lo usa un objeto existente

Eso es porque has puesto una barra inclinada / al final del guión.

Debido a lo cual, la declaración anterior en el búfer se ejecuta nuevamente. Lo que significa que la declaración CREATE TABLE se ejecuta dos veces .

Retire la barra del final. El punto y coma es suficiente como terminador de declaraciones para consultas individuales.

Así es como lo haría:

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>

Habiendo dicho eso, tienes múltiples problemas en el script.

No puede tener un espacio en el nombre de la columna. COL 1 es un nombre de columna no válido. Obtendrá Error de identificador no válido .

Otro problema:

Hay una coma extra en el final de la lista de columnas .