Nea*_*ers -1 oracle alter-table
我正在尝试将测试系统上的表同步到生产中的表。在生产中,尽管可能很糟糕,但我相信他们使用保留字 SITE 作为列名。
alter table MY_TABLENAME
modify ("SITE" varchar2(50),
LOCATION_ID varchar2(50)
)
;
Run Code Online (Sandbox Code Playgroud)
以上给出了错误:
ORA-00904: "SITE": 无效标识符
没有引号或括号的相同错误。
如果你真的想使用保留字,你可以在双引号之间使用它,但这就是生活变得复杂的地方。
SQL> alter table t1 add (number number);
alter table t1 add (number number)
*
ERROR at line 1:
ORA-00904: : invalid identifier
SQL> alter table t1 add ("NUMBER" number);
Table altered.
SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
C1 NUMBER
NUMBER NUMBER
SQL> select number from t1;
select number from t1
*
ERROR at line 1:
ORA-00936: missing expression
SQL> select NUMBER from t1;
select NUMBER from t1
*
ERROR at line 1:
ORA-00936: missing expression
SQL> select "NUMBER" from t1;
no rows selected
SQL>
Run Code Online (Sandbox Code Playgroud)