Náhodné řazení v různých databázích 0

Pro jednu modifikaci jsem nedávno řešil jeden z dalších problémů implementace jedné funkce v různých databázových systémech. Šlo o klasický ORDER BY RAND() z MySQL.

Kód jsem tvořil pro phpBB, které podporuje následující: MySQL, PgSQL, MSSQL, Oracle, SQLite, Firebird.

<?php
switch ($db->sql_layer)
{
    case 'mssql':
        $random = 'NEWID()';
    break;
    case 'postgres':
    case 'sqlite':
        $random = 'RANDOM()';
    break;
    default:
        $random = 'RAND()';
    break;
}
 
$sql = 'SELECT something FROM some_table ORDER BY ' . $random;
?>

Oracle mi přichystal trochu nepříjemnou záležitost, nutný sub-select:

SELECT COLUMN FROM
( SELECT COLUMN FROM TABLE
ORDER BY dbms_random.VALUE )
WHERE ROWNUM = 1

To jsem ale nezkoumal Firebird. Nejdříve je potřeba definovat vlastní funkci:

DECLARE EXTERNAL FUNCTION rand RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'IB_UDF_rand' MODULE_NAME 'ib_udf';

a poté použít klasický ORDER BY RAND();

Máte k článku co říct?