Dalam Oracle, anda boleh menggunakan pernyataan pilih untuk menanyakan nod anak secara rekursif Fungsi pernyataan ini adalah untuk melakukan pertanyaan ringkas pada data jadual MENGIKUT keadaan SEBELUM 2 DI MANA Syarat 3".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Cara oracle secara rekursif menanyakan nod anak
Struktur tatabahasa
SELECT ... FROM + 表名 START WITH + 条件1 CONNECT BY PRIOR + 条件2 WHERE + 条件3
Syarat 1: Ia adalah pernyataan kelayakan nod akar Sudah tentu, syarat kelayakan boleh santai untuk mendapatkan berbilang akar, iaitu, berbilang pokok dalam hubungan sambungan, selain penyenaraian, ungkapan lajur juga dibenarkan. Klausa START WITH adalah pilihan dan digunakan untuk mengenal pasti nod yang digunakan sebagai nod akar struktur pepohon carian. Jika klausa ini ditinggalkan, ini bermakna semua baris yang memenuhi syarat pertanyaan digunakan sebagai nod akar.
Syarat 2: Ia adalah syarat sambungan, di mana PRIOR digunakan untuk mewakili rekod sebelumnya Contohnya, CONNECT BY PRIOR STUDENT_ID = GRADE_ID, yang bermaksud STUDENT_ID rekod sebelumnya ialah GRADE_ID ini. rekod, iaitu bapa rekod ini adalah rekod sebelumnya. Klausa CONNECT BY menunjukkan bahawa setiap baris data akan diambil dalam susunan hierarki dan menentukan bahawa data dalam jadual akan disambungkan ke dalam hubungan berstruktur pepohon. Operator PRIOR mesti diletakkan di hadapan salah satu daripada dua lajur perhubungan gabungan. Untuk perhubungan induk-anak antara nod, pengendali PRIOR mewakili nod induk pada satu sisi dan nod anak di sisi lain, dengan itu menentukan sama ada susunan struktur pokok dicari adalah atas ke bawah atau bawah ke atas.
Syarat 3: Ia adalah keadaan penapisan, digunakan untuk menapis rekod yang dikembalikan.
Nota:
1, CONNECT BY PRIOR digunakan dalam pertanyaan berstruktur;
2, peranan MULAKAN DENGAN... CONNECT BY PRIOR..., Ringkasnya , ia adalah untuk menyimpan struktur pokok dalam jadual.
Melintasi nod anak ke nod akar.
select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid
Melintasi nod akar nod anak (tidak termasuk nod akar).
select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid
Melintasi melalui nod akar Nod anak (termasuk nod akar).
select * from persons.dept start with deptid=0 connect by prior deptid=paredeptid
Anda boleh menanyakan tahap melalui kata kunci tahap.
select a.*,level from persons.dept a start with paredeptid=0 connect by prior deptid=paredeptid
Catatan:
mulakan dengan .. Dalam penggunaan .connect by, yang berikut bermula dengan ialah benih rekursif.
Benih rekursi ialah tempat rekursif bermula "sebelumnya" selepas disambungkan oleh Jika lalai: hanya baris permulaan yang memenuhi syarat boleh ditanya dan tiada pertanyaan rekursif akan dilakukan;
Medan yang diletakkan selepas sambung dengan sebelumnya adalah berkaitan dan menunjukkan arah pertanyaan.
Latihan: Dapatkan nod teratas melalui nod anak
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
Struktur jadual
DEPTID PAREDEPTID NAME NUMBER NUMBER CHAR (40 Byte)
id Jabatan Id jabatan induk (kepunyaan id jabatan mana) Nama jabatan
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Bagaimana untuk menanyakan nod anak secara rekursif dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
