In pratica ho la necessità di creare un numero random da inserire in una tabella in MariaDB (MySQL), ma il numero non deve essere già presente.

Per creare un numero random possiamo usare la funzione RAND.

Le funzioni, in qualsiasi database, non possono restituire più di un record.

Nel caso in cui la SELECT restituisca più record, Oracle va in eccezione con l'errore TOO_MANY_ROWS.

E' possibile intercettare questa eccezione, e agire di conseguenza.

Anche Oracle, come praticamente tutti i db server, è in grado di gestire le tabelle temporanee.

Queste si cancellano al momento della chiusura della sessione.

E questo è l'unico punto che ancora non ho ben capito; perchè alla chiusura e riapertura di SQL Developer, la tabella stava ancora la.

Da quanto ho capito le sessioni non scadono subito, ma dopo un tot di tempo; quindi considerate l'eventuale cancellazione della tabella quando avete finito, in modo da non rishciare di incastrarvi.

In genere uso MariaDB come database, ma esplorare anche altre soluzioni non fa male.

Oggi vediamo come installare PostgreSQL in Debian 9.

# aptitude update
# aptitude install postgresql

In Oracle è abbastanza semplice controllare le connessioni attive interrogando V$SESSION.

Ad esempio:

SELECT * FROM v$session 
WHERE username IS NOT NULL 
ORDER BY username ASC;