Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Select语句在Oracle中不使用双引号_Sql_Oracle - Fatal编程技术网

Sql Select语句在Oracle中不使用双引号

Sql Select语句在Oracle中不使用双引号,sql,oracle,Sql,Oracle,我的表有一个名为select或NOT的列,或其他保留键 我尝试选择“select”列,但无法选择,因为oracle引发如下异常: select f.select from foo f. 无效的user.table.column或table.column或column规范 我的select语句如下所示: select f.select from foo f. 我在网上搜索,找到了公认的答案: 然后,我更改了我的查询:Select f.Select from foo f,但也会像这样

我的表有一个名为select或NOT的列,或其他保留键

我尝试选择“select”列,但无法选择,因为oracle引发如下异常:

 select f.select 
 from foo f.
无效的user.table.column或table.column或column规范

我的select语句如下所示:

 select f.select 
 from foo f.
我在网上搜索,找到了公认的答案:

然后,我更改了我的查询:Select f.Select from foo f,但也会像这样抛出异常:

c、 选择:使标识符无效

如何在select或update、insert语句中使用select列

注:我正在使用pl/sql开发工具查询数据。

这应该可以正常工作:

Select f."select" from foo f
试试看


在Oracle中引用标识符时,它们会区分大小写

因此,您可能必须编写以下内容:

select f."SELECT" from foo f

或者选择,或者以您实际编写列名的方式创建列选择的好主意。您还可以创建一个名为select的表。查询可以是select、update、insert、where from选择where from>where和insert=update;如果你给那些栏目起名,你将受到惩罚。除此之外,f.select应该适用于您,但以这种方式使用时,您的列名区分大小写。再一次,意识到你使用了一个保留字,但仍然这样做,我感到愤怒。@Florin Ghita:我不使用任何保留键,但我们的客户可能会使用它。我们正在为屏幕生成编写框架,可能最终用户会创建一个名为“选择”的列,我们必须选择表中的所有列。@Baris很酷,我只是开了个玩笑。我知道这可能是一种情况。假设您的客户希望表名长度超过30个字符?他们不能。没有解决办法。我知道我们应该保护我们的用户不受令人讨厌的实施细节的影响。但有时最好公开一些内部内容并对用户施加约束,前提是我们给予他们更多的回报。在这种情况下,作为放弃调用表select功能的交换,他们得到了一个更可靠、更健壮的框架,因为它更易于开发和维护。谢谢,它工作得很成功。@Baris-不客气。