sql >> Database teknologi >  >> RDS >> Oracle

Undgå ORA-00955:Navnet bruges allerede af et eksisterende objekt

Det er fordi, du har sat en skråstreg / i slutningen af ​​scriptet.

Derfor udføres den forrige sætning i bufferen igen. Hvilket betyder, at CREATE TABLE-sætningen udføres to gange .

Fjern skråstreget fra enden. Semikolon er nok som sætningsterminator for individuelle forespørgsler.

Sådan ville jeg gøre:

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>

Når det er sagt, har du flere problemer i scriptet.

Du kan ikke have et mellemrum i kolonnenavnet. COL 1 er et ugyldigt kolonnenavn. Du vil få Ugyldig identifikatorfejl .

Et andet problem:

Der er et ekstra komma i slutningen af ​​kolonnelisten .



  1. Import af MySQL-database fra en server til en anden

  2. Hvordan ændrer jeg tabelkolonnedatatype på mere end 1 kolonne?

  3. mysqli_connect Fatal fejl:kræve()

  4. Er der en enklere måde at opnå denne stil af brugerbeskeder på?