Most SQL is case-insensitive by default
I think MySQL isn't, though.
Most of the other ones you can force it to recognize case by using double quotes around names. The issue with Oracle is that it stores object names (like schema.my_table) in uppercase, and that's how all of the error messages are returned.
So if you have some object type named SchemasShatterStorage in the AS schema, when you get an error message or need to refer to the type name from some other language (like Java or Perl), it looks like this: AS.SCHEMASSHATTERSTORAGE... or AssChemAssHatterStorage... not what you really intended, eh? Or worse, MyVeryLongNameWithALotOfSmallWords becomes MYVERYLONGNAMEWITHLOTSOFSHORTWORDS... try and parse that quickly. Much better to use underscores because the meaning is preserved no matter what the case: AS.SCHEMAS_SHATTER_STORAGE.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."