【问题标题】:oracle sql developer table column without quotationsoracle sql开发者表列不带引号
【发布时间】:2013-04-08 18:45:13
【问题描述】:
我正在使用 SQL Developer 创建 oracle 表。我正在尝试创建不带引号的列,但是在创建表之后,当我看到 DDL 时,所有列和表名都在引号中。我希望所有列都不区分大小写。
我该怎么做?请指教。
这里的上下文是,我在 PHP 中有我的代码。我正在将我的后端从 MySQL 迁移到 Oracle。在使用 MySQL 时,我以小写形式引用了所有表列。但看起来OCI_FETCH_ARRAY 返回大写列中的数据。
那么我是否必须更改我的 PHP 代码才能使用大写字母,或者还有其他替代方法吗?我有很多代码要改!!
【问题讨论】:
标签:
oracle11g
oracle-sqldeveloper
【解决方案1】:
啊,终于明白了。是的,我同意,引号并不总是使对象区分大小写,但我的问题是OCI_FETCH_ALL、OCI_FETCH_ARRAY 等以大写形式检索了表列,而我希望它们以小写形式出现。以下语句是该问题的解决方法。它将列转换为小写。
$data_upper = oci_fetch_assoc($data_res);
$data = array_change_key_case($data_upper, CASE_LOWER);
谢谢!!
【解决方案2】:
引号并不总是使对象区分大小写。全部大写的对象始终不区分大小写,即使它们被引号括起来。
SQL> create table test1("QUOTES_DONT_DO_ANYTHING_HERE" number);
Table created.
SQL> select quotes_DONT_do_ANYTHING_here from test1;
no rows selected
您通常只会看到引号,因为有些工具会自动将引号添加到所有内容中。