CHARTOROWID |
Caractère à identificateur de ligne |
|---|---|
| Oracle Database SQL | Oracle 7 ou supérieure |
Syntaxe
| chartorowid(valeur1) |
Paramètres
| Nom | Description |
|---|---|
| valeur1 | Ce paramètre permet d'indiquer la valeur à convertir en un «RowId» |
Description
Cette fonction permet de convertir une chaîne de caractères en l'identificateur d'enregistrement (RowId).
Remarques
- Convertit une chaîne de caractères au format ROWID en un identifiant utilisable : La fonction CHARTOROWID permet de transformer une chaîne représentant un ROWID (comme 'AAAPecAABAAACzQAAA') en un type ROWID utilisable dans des requêtes SQL. Ce type représente une adresse physique précise dans une table Oracle.
- Utile pour manipuler les ROWID comme des données textuelles : Lorsqu'un ROWID est entreposé ou transmis sous forme de texte (par exemple via un export ou une API), on peut utiliser CHARTOROWID pour le reconvertir en identifiant utilisable dans une requête, par exemple dans une clause WHERE.
- Inverse logique de la fonction ROWIDTOCHAR : CHARTOROWID est l'opération inverse de ROWIDTOCHAR, convertissant un ROWID en chaîne de caractères. Ces deux fonctions sont complémentaires lorsqu'on doit stocker, afficher ou transmettre un ROWID entre différentes couches d'une application.
- Nécessite un format strict de chaîne conforme à un ROWID Oracle : La chaîne passée à CHARTOROWID doit être valide selon le format ROWID Oracle. Si elle est mal formée ou incorrecte, une erreur sera levée. Cela implique que les données doivent être validées ou provenir de sources fiables.
- Permet d'accéder à des lignes spécifiques de manière directe : Une fois converti, le ROWID peut être utilisé pour accéder très rapidement à une ligne spécifique d'une table Oracle. Par exemple :
- SELECT * FROM emp WHERE ROWID = CHARTOROWID('AAAPecAABAAACzQAAA');
- Utile dans les cas d'optimisation ou de diagnostic : Les ROWID sont souvent utilisés dans des outils de performance ou de débogage pour identifier les lignes physiques d'une table. CHARTOROWID permet alors de revenir à une ligne précise à partir d'un identifiant enregistré.
- Compatible avec les types de lignes stockées dans des tables permanentes : CHARTOROWID fonctionne principalement avec les ROWID de tables permanentes. Les tables index-organized ou temporaires peuvent avoir des formats ROWID différents (comme UROWID), avec des règles particulières d'utilisation.
- Peut provoquer des erreurs si utilisé avec des chaînes incorrectes ou hors contexte : Si vous appliquez CHARTOROWID à une chaîne vide, nulle, ou ne correspondant pas à un format ROWID Oracle, la fonction renverra une erreur ORA-01410 ou similaire. Il est donc important de toujours valider l'entrée.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015