Table des matières
Comment Oracle interroge-t-il récursivement les nœuds enfants
Maison base de données Oracle Comment interroger de manière récursive les nœuds enfants dans Oracle

Comment interroger de manière récursive les nœuds enfants dans Oracle

Jan 25, 2022 pm 02:38 PM
oracle

Dans Oracle, vous pouvez utiliser l'instruction select pour interroger de manière récursive les nœuds enfants. La fonction de cette instruction est d'effectuer une requête simple sur les données de la table. La syntaxe est "SELECT * FROM table name START WITH condition 1 CONNECT BY PRIOR condition 2. OÙ état 3".

Comment interroger de manière récursive les nœuds enfants dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

Comment Oracle interroge-t-il récursivement les nœuds enfants

Structure grammaticale

SELECT ... FROM    + 表名  START WITH + 条件1 CONNECT BY PRIOR + 条件2  WHERE  + 条件3
Copier après la connexion

Condition 1 : il s'agit d'une instruction de qualification pour le nœud racine. Bien sûr, les conditions de qualification peuvent être assouplies pour obtenir plusieurs nœuds racines, c'est-à-dire plusieurs arbres ; dans la relation de connexion, en plus des colonnes, les expressions de colonnes sont également autorisées. La clause START WITH est facultative et est utilisée pour identifier le nœud utilisé comme nœud racine de l'arborescence de recherche. Si cette clause est omise, cela signifie que toutes les lignes qui satisfont aux conditions de requête sont utilisées comme nœuds racine.

Condition 2 : Il s'agit d'une condition de connexion, dans laquelle PRIOR est utilisé pour représenter l'enregistrement précédent, par exemple, CONNECT BY PRIOR STUDENT_ID = GRADE_ID, ce qui signifie que le STUDENT_ID de l'enregistrement précédent est le GRADE_ID de cet enregistrement, c'est-à-dire , le père de cet enregistrement est l'enregistrement précédent. La clause CONNECT BY indique que chaque ligne de données sera récupérée dans un ordre hiérarchique et spécifie que les données de la table seront connectées dans une relation arborescente. L'opérateur PRIOR doit être placé devant l'une des deux colonnes de la relation de jointure. Pour les relations parent-enfant entre nœuds, l'opérateur PRIOR représente le nœud parent d'un côté et le nœud enfant de l'autre côté, déterminant ainsi si l'ordre dans lequel la structure arborescente est recherchée est descendant ou ascendant.

Condition 3 : Il s'agit d'une condition de filtrage, utilisée pour filtrer les enregistrements renvoyés.

Remarque :

1. CONNECT BY PRIOR est utilisé dans les requêtes structurées

2 La fonction de START WITH... CONNECT BY PRIOR... est de stocker une structure arborescente à l'intérieur et à l'extérieur d'une table.

Traversez vers le nœud racine à travers les nœuds enfants.

select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid
Copier après la connexion

Traversez les nœuds enfants via le nœud racine (à l'exclusion du nœud racine).

select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid
Copier après la connexion

Traversez les nœuds enfants via le nœud racine (y compris le nœud racine).

select * from persons.dept start with deptid=0 connect by prior deptid=paredeptid
Copier après la connexion

Peut être transmis via le mot-clé de niveau Rechercher le niveau.

select a.*,level from persons.dept a start with paredeptid=0 connect by prior deptid=paredeptid
Copier après la connexion

Remarque :

commencez par... connectez-vous par utilisation, ce qui suit commence par est la graine récursive.

La graine de récursion est l'endroit où commence la récursion. Le "prior" après la connexion. Par défaut : seule la ligne de départ qui remplit les conditions peut être interrogée, et aucune requête récursive ne sera effectuée

Les champs placés après la connexion ; par prior Il est pertinent et indique la direction de la requête.

Exercice : Obtenez le nœud supérieur via les nœuds enfants

select FIRST_VALUE(deptid) OVER (ORDER BY LEVEL DESC ROWS UNBOUNDED PRECEDING) AS firstdeptid from persons.dept start with deptid=76 connect by prior paredeptid=deptid
Copier après la connexion

Structure de la table

DEPTID PAREDEPTID NAME
NUMBER NUMBER CHAR (40 Byte)
Copier après la connexion

ID du département Identifiant du département parent (ID du département) Nom du département

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Comment importer une base de données Oracle Comment importer une base de données Oracle Apr 11, 2025 pm 08:06 PM

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Comment créer une table dans Oracle Comment créer une table dans Oracle Apr 11, 2025 pm 08:00 PM

La création d'une table Oracle implique les étapes suivantes: Utilisez la syntaxe de la table Create pour spécifier les noms de table, les noms de colonne, les types de données, les contraintes et les valeurs par défaut. Le nom du tableau doit être concis et descriptif et ne doit pas dépasser 30 caractères. Le nom de la colonne doit être descriptif et le type de données spécifie le type de données stocké dans la colonne. La contrainte non nulle garantit que les valeurs nulles ne sont pas autorisées dans la colonne, et la clause par défaut spécifie les valeurs par défaut pour la colonne. Contraintes de clé primaire pour identifier l'enregistrement unique du tableau. La contrainte de clé étrangère spécifie que la colonne du tableau fait référence à la clé primaire dans un autre tableau. Voir la création des élèves de la table de l'échantillon, qui contient des clés primaires, des contraintes uniques et des valeurs par défaut.

Comment désinstaller l'installation d'Oracle a échoué Comment désinstaller l'installation d'Oracle a échoué Apr 11, 2025 pm 08:24 PM

Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

Comment remettre à nouveau Oracle Comment remettre à nouveau Oracle Apr 11, 2025 pm 07:33 PM

Oracle fournit plusieurs méthodes de requête de déduplication: le mot-clé distinct renvoie une valeur unique pour chaque colonne. Le groupe par clause regroupe les résultats et renvoie une valeur non réactive pour chaque groupe. Le mot-clé unique est utilisé pour créer un index ne contenant que des lignes uniques, et l'interrogation de l'index sera automatiquement déducteur. La fonction ROW_NUMBER () attribue des nombres uniques et filtre les résultats qui contiennent uniquement la ligne 1. La fonction min () ou max () renvoie les valeurs non réactives d'une colonne numérique. L'opérateur intersecte renvoie les valeurs communes des deux ensembles de résultats (pas de doublons).

Comment afficher le nom d'instance d'Oracle Comment afficher le nom d'instance d'Oracle Apr 11, 2025 pm 08:18 PM

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Comment crypter Oracle View Comment crypter Oracle View Apr 11, 2025 pm 08:30 PM

Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

Comment ajouter des champs de table à Oracle Comment ajouter des champs de table à Oracle Apr 11, 2025 pm 07:30 PM

Utilisez l'instruction ALTER TABLE, la syntaxe spécifique est la suivante: alter table table_name Ajouter Column_name data_type [contrainte-clause]. Où: TABLE_NAME est le nom de la table, Column_name est le nom de champ, DATA_TYPE est le type de données et la clause de contrainte est une contrainte facultative. Exemple: Alter Table Employés Ajouter un e-mail Varchar2 (100) Ajouter un champ de messagerie à la table des employés.

See all articles