使用常规表时,可以使用以下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/