Oracle Object Name - Casing Issue

One interesting things find in oracle (if you are a Sql server developer) is that if I create objects name like MyTable then oracle transform it MYTABLE (upper case).
If I want to maintain case then I should use "MyTable"(with double quate).
Sometimes It make me confuse. Speciall when create view. Suppose I Create a view like
CREATE VIEW "MyView"ASSELECT id AS "ID", name AS "Name" FROM "MyTable"
If I call that view from my application then I should use

string SQL = "SELECT V.ID from MyView V WHERE V.Name = 'habib';

If any application wants to support 2 databases like SQLServer & ORACLE then
it is very difficult to maintain casing. Because SQL Server developer never thinkcasing issue about database table/view/columns naming. If you convert Sql ServerObject to Oracle then always you should think and maintain that issue. OtherwiseOracle always gives you upper case object name. Some times It create problem of databinding.

For Example

MyComboBox.DataSource = MyDataSet[MyTable];
MyComboBox.DisplayMemeber = "Id";
MyComboBox.ValueMemeber = "Name";

If Database is Sql SERVER then whatever the case is, its does not create any problem.

But If it is Oracle then Oracle sent you [ID, NAME].
That ComboBox DataBinding behaves
Why I am saying intersting, if you want to know then please write a demo
project and create the situation.

No comments: