FAQ Identifiant SINP
Quelle est meilleure méthode de génération conseillée par le SINP : totalement aléatoire, basée sur un texte fixe, etc. ?
L’identifiant sera composé d’un UUID et d’autres éléments : On se reportera au document sur les identifiants permanents du SINP, disponible sur ce lien.
Comment générer un UUID techniquement ?
Sous postgreSQL, utiliser le module uuid-ssp. Sous Oracle, c’est un peu plus complexe ; on utilisera la méthode qui suit pour une table qui ne contient pas l’information. Elle devra être adaptée le cas échéant :
ALTER TABLE <nom_table_donnees> ADD (IDENTIFIANT_PERMANENT VARCHAR(255));
/
DECLARE CURSOR C IS SELECT ROWID AS RID FROM <nom_table_donnees> ;
GUID VARCHAR(32);
BEGIN
FOR V_REC IN C
LOOP
GUID:=SYS_GUID();
UPDATE <nom_table_donnees> SET IDENTIFIANT_PERMANENT =
(SUBSTR(GUID,1,8)|| '-' ||SUBSTR(GUID,9,4)|| '-' ||SUBSTR(GUID,13,4)|| '-' ||SUBSTR(GUID,17,4)|| '-' ||SUBSTR(GUID,21,12)) where rowid=v_rec.rid;
END LOOP;
END;