1

我正在使用 SQL Developer 创建 oracle 表。我正在尝试创建不带引号的列,但是在创建表之后,当我看到 DDL 时,所有列和表名都在引号中。我希望所有列都不区分大小写。

我怎么做?请指教。

这里的上下文是,我在 PHP 中有我的代码。我正在将我的后端从 MySQL 迁移到 Oracle。在使用 MySQL 时,我以小写形式引用了所有表列。但它看起来像OCI_FETCH_ARRAY返回大写列中的数据。那么我必须更改我的 PHP 代码以使用大写字母还是有其他替代方法?我有很多代码要更改!

4

2 回答 2

1

啊,终于想通了。是的,我同意,引号并不总是使对象区分大小写,但我的问题是OCI_FETCH_ALLOCI_FETCH_ARRAY等以大写形式检索表列,而我希望它们以小写形式出现。以下语句是该问题的解决方法。它将列转换为小写。

$data_upper = oci_fetch_assoc($data_res);
$data = array_change_key_case($data_upper, CASE_LOWER);

谢谢!!

于 2013-04-09T23:41:01.630 回答
0

引号并不总是使对象区分大小写。所有大写的对象总是不区分大小写,即使它们被引号包围。

SQL> create table test1("QUOTES_DONT_DO_ANYTHING_HERE" number);

Table created.

SQL> select quotes_DONT_do_ANYTHING_here from test1;

no rows selected

您通常只会看到引号,因为某些工具会自动将它们添加到所有内容中。

于 2013-04-08T19:42:44.143 回答