pl/sql developer not case sensitive!

stephan0h

Member
what really bugs me with the current pl/sql-developer and will probably keep me from upgrading to v 7 is that it's not case sensitive. Consider this example:

create table "MyTab" ("Col1" number);

I can do this in sqlplus, but when handling this table with pl/sql-developer i often end up with e.g.

select * from mytab

which leads to an error of course. When is this fixed?

br,
stephan
 
If an object is created in Oracle using double quotes, Oracle will _always_ treat the object_name as being case sensitive. You can therefor only reference the object by putting its name in double quotes using the right case.
In order to query MyTab you will therefor have to

Code:
select *
from "MyTab"
in order to select data from this table. select * from mytab will give you 'table does not exist' in PL/SQL Developer as well as SQL*Plus.
 
Ok, I think I need to specify my problem in more detail:

Say, I'm in pl/sql developer 6.0.5, in the left hand tree I see all my (case sensitive) tables, on the right hand pane i've got an sql-window.
Now I select a table "MyTab" and copy it to clipboard. I paste it to the sql window -> here it is pasted as 'mytab'.
The same happens if i display the describe window of a table, mark all (case sensitive) columns and copy them to my sql-window.

Besides it being complicated working with case-sensitive tables it just would be nice if pl/sql developer would handle them correctly. This would make things a little easier ...

br,
stephan
 
Instead copy&paste please right click on a "TABLE with case sensitive name" and select popup menu item 'Query data' or 'Edit data'. That will open a SQL window with correctly prepared SQL statement.
 
You can also use autocomplete by adding a query in Syntax Highlighting configuration (tools>syntax highlighting) to select table names from user_tables or all_tables.

Something like

select table_name from all_tables
where owner in ()
union
select view_name from all_views
where owner in ()

You'll still have to wrap the names in double-quotes, though.

I suppose you could play around a bit with doing

select '"' || table_name || '"' from user_tables
where table_name != upper(table_name)

to see if autocomplete will add the doupble-quotes for you....

Dave
 
We are converting from 9i to 10g and this is an issue when working with the new Recycle Bin. Indexes and constraints get renamed in the Recycle Bin with complex, system generated, case sensitive names. When you recover an object from the Bin, you need to rename these. Since PLSD does not preserve case, you can't right-click and copy, you have to carefully type the horrible names manually. PLEASE make the right-click copy preserve case! Thanks.
 
Back
Top