My membership
Why I hate Oracle:
- DUAL. Who the fuck came up with the idea of a table called DUAL that contains ONE record. Why not call it SINGLE? Or why not support the fact that WHERE clauses might be <i>optional</i>?
- One engine = one database. On many other databases (Informix and PostgreSQL, to name a few), you can run many independent databases on a single engine. This means you can, for instance, easily clone a database for testing purposes. But we use Oracle. This means that we have to ask the sysadmins to create a new engine every time we need a new database. Even if we intend to almost never use it. And they often refuse, as every engine takes up too much server memory already.
- The DATE type. Why call a type DATE and include a time? All sensible databases have separate types, like DATE, TIMESTAMP, TIME. Types that do what they say.
- You cannot declare a parameter or a variable at the beginning of a stored procedure (before the BEGIN part) that has the word "end" in it. At least, not through ODBC -- the driver parses just enough to barf on that.