使用常规表时,可以使用以下Oracle SQL查询:

SELECT max(some_primary_key) FROM MyTable

但是,当使用数据库对象(即对象的表)时,会产生以下错误:
ORA-00904: "SOME_PRIMARY_KEY": invalid identifier

引用列名称时,如下所示:
SELECT max("some_primary_key") FROM MyTable

这像预期的那样工作。 在使用“对象”而不是“表”时,为什么必须转义列名?

最佳答案

它与对象或表无关,而与这些对象/表的创建方式有关。

如果你这样做create table "blabla",那么您始终需要使用“blabla”来寻址该表,如果执行create table blabla,则可以通过BLABLA或blabla或bLabLa来寻址该表。使用" "使名称区分大小写,这就是大多数开发人员不使用" "的原因,因为通常您不希望区分大小写的名称。

关于sql - Oracle DB引用列名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38328169/

10-10 18:23