Itu karena, Anda telah memberikan garis miring /
di akhir skrip.
Karena itu, pernyataan sebelumnya dalam buffer dieksekusi lagi. Artinya, pernyataan CREATE TABLE dieksekusi dua kali .
Hapus garis miring dari ujungnya. Titik koma sudah cukup sebagai terminator pernyataan untuk kueri individual.
Inilah yang akan saya lakukan:
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>
Karena itu, Anda memiliki banyak masalah dalam skrip.
Anda tidak boleh memiliki spasi di nama kolom. COL 1
adalah nama kolom yang tidak valid. Anda akan mendapatkan Kesalahan pengenal tidak valid .
Masalah lain:
Ada koma tambahan di akhir daftar kolom .