ROWID et ROWNUM sont utilisés dans Oracle pour identifier les lignes d'une table : ROWID : Un identifiant physique unique qui identifie l'emplacement de la ligne sur le disque et ne change pas même si la ligne est mise à jour. ROWNUM : pseudo-colonne, indiquant le numéro de ligne de la ligne dans le jeu de résultats de la requête, à partir de 1, changeant avec l'ordre des lignes, et sera réinitialisée lorsque la ligne est ajoutée ou supprimée.
La différence entre ROWID et ROWNUM dans Oracle
ROWID et ROWNUM sont deux mots-clés de table Oracle différents utilisés pour identifier les lignes de la table :
-
ROWID : Un unique, en interne identifiant géré qui identifie chaque ligne d'une table dans la base de données.
-
ROWNUM : Une pseudo-colonne qui renvoie le numéro de ligne de la ligne actuelle dans la requête, numérotée à partir de 1.
Explication détaillée
ROWID
- ROWID est un identifiant physique qui représente l'emplacement d'une ligne dans un bloc de données sur le disque.
- ROWID est unique dans toute la base de données, même pour différentes lignes d'une même table.
- ROWID ne change pas lorsque des lignes sont insérées, supprimées ou mises à jour, sauf si le tableau est réorganisé.
ROWNUM
- ROWNUM est un identifiant logique qui représente la position relative d'une ligne dans l'ensemble de résultats de la requête.
- ROWNUM est unique dans le même ensemble de résultats de requête, mais différents ensembles de résultats de requête peuvent renvoyer différentes valeurs ROWNUM pour la même ligne.
- ROWNUM change avec l'ordre des lignes dans l'ensemble de résultats de la requête et peut être réinitialisé lorsque des lignes sont ajoutées, supprimées ou mises à jour.
Utilisation
ROWID :
- Pour les opérations qui nécessitent que les lignes soient identifiées de manière unique dans différentes sessions ou transactions.
- Lorsque les lignes doivent être physiquement récupérées de la base de données.
ROWNUM :
- Pour les opérations qui doivent être effectuées en fonction de l'ordre des lignes.
- Lorsque l'ensemble de résultats de la requête doit être trié ou paginé.
Exemple
<code>SELECT ROWID, ROWNUM FROM table_name;</code>
Copier après la connexion
Résultats :
ROWID |
ROWNUM |
AAAA2JDABAAAL4Q4AAAEAAAQ |
1 |
AAAA2JDABAAAL4Q5AAEAARQ |
2 |
AAAA2JDABAAAL4Q6AAEAA6Q |
3 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!