Dans Oracle, rowid est utilisé pour accéder aux données. Il s'agit d'une pseudo-colonne qui marque de manière unique les lignes du tableau. Chaque ligne de données du tableau a un identifiant unique. La syntaxe est "select rowid..." ; est le physique L'adresse interne des données de ligne dans la table, dont l'une pointe vers l'adresse du fichier de données stocké dans le bloc contenant la ligne dans la table de données, et l'autre est l'adresse de cette ligne dans le bloc de données qui peut localiser directement la ligne de données elle-même.
L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 12c, ordinateur Dell G3.
rowid est une pseudo-colonne utilisée pour marquer de manière unique les lignes d'un tableau. Il s'agit de l'adresse interne des données de ligne dans la table physique. Elle contient deux adresses. L'une est l'adresse du fichier de données stocké dans le bloc contenant la ligne dans la table de données, et l'autre est la ligne qui peut localiser directement la ligne. ligne de données elle-même dans l'adresse du bloc de données dans .
Chaque ligne de données de la table de base de données Oracle possède un identifiant unique, ou rowid, qui est généralement utilisé pour accéder aux données dans Oracle. rowid nécessite 10 octets d'espace de stockage et utilise 18 caractères pour s'afficher. Cette valeur indique l'emplacement physique spécifique de la ligne dans la base de données Oracle. Vous pouvez utiliser rowid dans une requête pour indiquer que la valeur est incluse dans les résultats de la requête.
AAAR1yAAHAAAAFkAAA à titre d'exemple
Ici AAAR1y est le numéro d'objet de la base de données, AAH est l'étiquette du fichier, AAAAFk est le numéro de bloc et les trois derniers chiffres AAA sont le numéro de ligne.
Utilisez select * from DEPT ; Vous ne pouvez pas voir la colonne rowid dans le résultat de sortie. En effet, cette colonne n'est utilisée qu'à l'intérieur de la base de données et rowid est généralement appelée une pseudo-colonne.
Si vous souhaitez sélectionner les données de
scott.emp puis les modifier manuellement, vous devez utiliser
select rowid,t.* from scott.emp t;
au lieu de l'écrire directement comme
select * from emp;
select rowid,t.* from scott.emp t; select * from scott.emp for update;
Utiliser ROWID pour localiser les enregistrements dans ORACLE est le plus rapide, plus rapide que l'indexation, donc si vous utilisez d'abord SELECT ROWID pour sélectionner les lignes à mettre à jour, les placez dans COLLECTION, puis utilisez FORALL UPDATE pour mettre à jour par lots, la vitesse peut être améliorée. De ce point de vue, c'est mieux que d'autres méthodes
SELECT FOR UPDATE verrouillera l'enregistrement avant la mise à jour, ce qui est nécessaire dans les programmes complexes de mise à jour de requêtes parallèles, comme exiger la cohérence des données et ne pas permettre aux autres de modifier lors du filtrage des données. sera verrouillé en utilisant FOR UPDATE ou SET TRANSACTION READ ONLY. De plus, l'instruction WHERE CURRENT OF CURSOR dans CURSOR exige que FOR UPDATE soit ajouté à SELECT.
Tutoriel recommandé : "Tutoriel vidéo Oracle"
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!