Wednesday, April 25, 2007

tnsnames.ora - both handy and annoying when lost!

I have become so accustomed to have SIDs configured in tnsnames.ora - never having to remember anything.

After migrating to a new laptop yesterday, I lost all my connection information (doh!) and have had to resort back to the SQL Plus connect string. How beautiful it is:

sqlplus user/password@//10.10.10.10:1521/sid

Monday, April 23, 2007

select random

And they call SQL a "standard" ;)

Select a random row with MySQL:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

Select a random row with PostgreSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Select a random row with Microsoft SQL Server:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

Select a random row with IBM DB2

SELECT column FROM table
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY

Select a random record with Oracle:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Note. I'm not complaining too seriously, in my work I mostly use Oracle (occasionally DB/2 but that can't be helped). I am aware of the wealth of functionality available at Oracle over say, MySQl, which mostly excuses the differing syntax.