Re: Re: big/small letters with oracle No2
| From: | Daniel Clark | Date: | Thu, 03 Jun 2004 09:20:26 +0000 |
| Subject: | Re: Re: big/small letters with oracle No2 | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-34630@lists.php.net to get a copy of this message | ||
I've used Oracle for years, and am not aware of Oracle having case sensitive column names.
>>>>>"Torsten Lange" <t.lange@ufz.de> wrote in message
>>>>>news:40BC5D47.4010003@ufz.de...
>>
>>>>>> But when using queries on the USER_... data dictionary, Oracle
>>>>>> delivers always big letters, which is for chemical elements (NA
>>>>>> vs. Na) or location names (ALICE SPRINGS vs. Alice Springs) and
>>>>>> location codes often uncomfortable to read.
>>
>>> Then I see only one way: create a mapping array to map your field names to
>>> what you want them to be *really* called.
>>>
>>> $mapping = array('FIELD1' => 'My real field name',
>>> 'FIELD2' => 'My second
>>> field name');
>>>
>>> Then you get the value this way:
>>>
>>> $realName = $mapping[$fieldNameFromDB];
>>
>>A mapping is the best way. It separates the internal schema structure
>>(i.e column names as created by Oracle) from the display values (i.e.
>>the column names you want to display).
>>
>>But it is possible to get PHP to return case sensitive column names from
>>Oracle, see below.
>>
>>Chris
>>
>>-----
>>
>> <?php
>>
>> // Example using case sensitive column names in Oracle.
>> //
>> // Table P1 was created in SQL*Plus using:
>> //
>> // create table p1 ("MyCol" number);
>> // insert into p1 values (1234);
>> // commit;
>> //
>> // The output of this PHP script is:
>> //
>> // array(1) {
>> // ["MyCol"]=>
>> // string(4) "1234"
>> // }
>>
>> $conn = OCILogon("scott", "tiger", "MYDB");
>>
>> $query = 'select * from p1';
>>
>> $stid = OCIParse($conn, $query);
>> OCIExecute($stid);
>> OCIFetchInto($stid, $row, OCI_ASSOC);
>> echo "<pre>"; var_dump($row); echo "</pre>";
>>
>> OCILogoff($conn);
>>
>> ?>
>>
>>--
>>Christopher Jones, Oracle Corporation, Australia.