|
Generare ID Random
Per testare le prestazione delle query occorre avere le tabelle "cariche di dati".
Per popolare le tabelle, può essere utile generare identificativi random.
Le funzioni riportate nello script seguente, servono rispettivamente per generare numeri interi casuali in un certo range, e
per generare stringhe contenenti pseudo-identificativi di lunghezza variabile.
Ora, la domanda sorge spontanea: perchè implementare un gereratore di numeri random visto che esiste la funzione di sistema RAND()?
La risposta potrà sembrare banale, ma un generatore di identificativi, per essere comodo da usare, deve essere
implementato come User Function... purtroppo SQL Server non consente di utilizzare RAND() all'interno di una User Function!
La funzione ETfRandom non è in grado di generare sequenze "perfettamente casuali", ma sufficentemente buone per i nostri scopi.
Se non viene specificato il parametro @RandLen nella funzione ETfGenRandomID, verrà generato un identificato di lunghezza
variabile tra 4 e 16 caratteri.
Il generatore si basa su due stringhe, una per le consonanti ed una per le vocali e genera sillabe "leggibili".
Ovviamente è possibile cambiare le stringhe per ottenere identificativi di tipo diverso...
Di seguito riporto una sequenza di ID generati chiamando dbo.[ETfGenRandomID](N'ID_', N'', NULL):
ID_CESEFABUTOPILE
ID_CADE
ID_MIROVU
ID_FALECISAZO
ID_FEDICE
ID_LADUZOSINEGA
ID_BAFE
ID_POTUBA
ID_GEBIDIBAZANI
ID_SEFACUVORILEDA
|