Type de données UUID

Le type de données UUID stocke des identificateurs uniques universels (UUIDs). Un UUID est une valeur binaire de 128 bits qui identifie de manière unique les informations. Chaque valeur UUID est conçue pour être globalement unique, ce qui signifie qu’il y a une très faible probabilité que deux systèmes différents génèrent exactement le même UUID indépendamment. Cependant, l’unicité dépend de la façon dont les valeurs UUID sont générées et le type de données UUID Snowflake lui-même ne garantit pas l’unicité. Par exemple, un utilisateur peut insérer la même valeur UUID plusieurs fois sans erreur.

Les valeurs UUID sont au format UUID, qui est une chaîne de 36 caractères de chiffres hexadécimaux, séparés par des traits d’union, selon le modèle 8-4-4-4-12. Par exemple, f353ca91-4fc5-49f2-9b9e-304f83d11914 est une chaîne au format UUID.

Pour plus d’informations sur le type de données UUID, voir l’article Wikipédia Identifiant universel unique.

Les considérations suivantes s’appliquent au type de données UUID :

  • Les pilotes Snowflake traitent les valeurs UUID en tant que chaînes de texte.

  • La forme littérale ANSI de UUID est prise en charge en entrée.

  • Les valeurs UUID de n’importe quelle version peuvent être insérées dans des tables.

  • Les valeurs UUID ne sont pas sensibles à la casse.

Spécifier une type de données UUID

  • Pour spécifier un type UUID, utilisez la syntaxe suivante :

    <column_name> UUID
    
    Copy

    Où :

    • column_name est le nom d’une colonne dans une table.

Limitations pour le type de données UUID

Les limitations suivantes s’appliquent pour le type de données UUID :

  • Une valeur UUID ne peut pas être stockée dans une valeur d’un type de données semi-structurées ou d’un type de données structurées.

    Pour stocker une valeur UUID en tant que chaîne dans une valeur de l’un de ces types, vous pouvez convertir la valeur UUID en valeur VARCHAR.

  • Le type de données UUID n’est pas pris en charge dans les procédures stockées ou les fonctions définies par l’utilisateur (UDFs) écrites dans un langage autre que SQL, comme Python ou Java.

  • Le type de données UUID n’est pas pris en charge dans Snowpark.

  • Les fonctionnalités suivantes ne prennent pas en charge le type de données UUID :

Exemples pour le type de données UUID

Les exemples suivants insèrent des valeurs UUID dans des tables :

Insérer une valeur UUID dans une table

  • Créez une table avec une colonne de type UUID et insérez une valeur UUID :

    CREATE TABLE sample_uuid_table(uuid_col UUID);
    
    INSERT INTO sample_uuid_table VALUES ('c73d9175-0a1d-48c6-8d30-df165461328b');
    
    Copy

Générer automatiquement des valeurs UUID lorsque vous insérez des lignes dans une table

L’exemple suivant vous montre comment générer automatiquement des valeurs UUID lorsque vous insérez des lignes dans une table :

  1. Créez une table qui utilise la UUID_STRING fonction pour générer une valeur UUID pour chaque ligne insérée dans la table :

    CREATE OR REPLACE TABLE sample_generate_uuid (
      id UUID DEFAULT UUID_STRING() NOT NULL,
      sample_column VARCHAR);
    
    Copy
  2. Insérez des valeurs dans la table et omettez la colonne id de sorte qu’une valeur UUID est générée et insérée automatiquement :

    INSERT INTO sample_generate_uuid (sample_column) VALUES
      ('value_a'),
      ('value_b');
    
    Copy
  3. Interrogez la table pour voir les valeurs UUID générées :

    SELECT * FROM sample_generate_uuid;
    
    Copy
    +--------------------------------------+---------------+
    | ID                                   | SAMPLE_COLUMN |
    |--------------------------------------+---------------|
    | f353ca91-4fc5-49f2-9b9e-304f83d11914 | value_a       |
    | da563283-e201-4744-b158-221dd204a61f | value_b       |
    +--------------------------------------+---------------+