今天做数据库迁移,从mysql迁移到oracle,但mysql有个用户表,表名为USER,而USER是oracle sys账号的一张表,迁移报错,但oracle又出现该表,当 DROP TABLE USER时候提示表名无效,删除方法如下:
ORACLE不允许一数字开头命名表名,此表应该是从某处导过来的,创建时自动带双引号,只不过查看时不显示双引号而已。
SQL> CREATE TABLE 123 (ID1 NUMBER);
CREATE TABLE123 (ID1 NUMBER)
*
ERROR at line1:
ORA-00903:invalid table name
SQL> CREATE TABLE "123" (ID1 NUMBER);
Table created.
SQL> DROP TABLE 123;
DROP TABLE 123
*
ERROR at line1:
ORA-00903:invalid table name
SQL> DROP TABLE "123";
Table dropped.
SQL>