【发布时间】:2017-10-10 10:01:50
【问题描述】:
我有一个表 MYTAB,其中包含以下列名称、联系人和等级。现在我运行以下命令
alter table MYTAB rename column "name" to "fname";
alter table MYTAB add lname varchar(10);
update MYTAB set lname='hay'where fname='rick'
运行最后一条命令后出现以下错误
第 1 行错误:ORA-00904:“FNAME”:无效标识符``
【问题讨论】:
-
为什么有时会分隔列名,有时却没有? (
"fname"和fname。)"fname"是小写,而fname转换为大写FNAME... -
我敢打赌,您将列文字命名为“fname”而不是 fname。 The oracle syntax 似乎建议您不需要在新列名周围加上引号。第一列重命名后你检查过表格吗?
-
很确定
"有问题。您的数据库中列的名称是什么? -
我的表看起来像这样 fname MOB GR LNAME ---------- ---------- -- ---------- rick 123123 A 天赋 123456 b 新 123456 c 旧 123456 c 其他 123456 b 东西 123456 桌面 123456 b 文本 123456 d
-
"fname"与fname的名称不同。一旦你开始使用那些可怕的双引号,你就必须总是使用它们。详见手册:docs.oracle.com/database/121/SQLRF/…