Oracle描述层次查询(hierarchical query)
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 有关Oracle描述层次查询(hierarchical query)的详细情况,先看一张图: 正确答案:BD A错误,树的遍历可以从上至下,或从下至上 B正确 C正确,可以删除某个某个遍历的分支 例: 删除scott的分支 S
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
有关Oracle描述层次查询(hierarchical query)的详细情况,先看一张图:

正确答案:BD
A错误,树的遍历可以从上至下,或从下至上
B正确
C正确,可以删除某个某个遍历的分支
例: 删除scott的分支
SQL> select empno,ename,level,lpad('',2*level-1)||sys_connect_by_path(ename,'/') path from emp
2 start with empno=7566
3 connect by priorempno=mgr and ename!='SCOTT';
D错误
SQL> select empno,ename,level,lpad('',2*level-1)||sys_connect_by_path(ename,'/') path from emp
2 where ename!='SCOTT'
3 start with empno=7566
4 connect by priorempno=mgr;
可以使用条件限制输出。
正确答案BC
EMPNO ENAME LEVEL PATH
---------- ---------- ----------------------------------------
7566 JONES 1 /JONES
7876 ADAMS 3 /JONES/SCOTT/ADAMS
7902 FORD 2 /JONES/FORD
7369 SMITH 3 /JONES/FORD/SMITH
EMPNO ENAME LEVEL PATH
---------- ---------- ----------------------------------------
7566 JONES 1 /JONES
7902 FORD 2 /JONES/FORD
7369 SMITH 3 /JONES/FORD/SMITH
层次查询知识补充:
[html]
gyj@MYDB> create table test(id number,name varchar2(10),fid number);
Table created.
gyj@MYDB> insert into test values(1,'A',2);
1 row created.
gyj@MYDB> insert into test values(2,'B',3);
1 row created.
gyj@MYDB> insert into test values(3,'C',4);
1 row created.
gyj@MYDB> insert into test values(4,'D',null);
1 row created.
gyj@MYDB> commit;
Commit complete.
正向查找,对于每个遍历,只查找第一行记录
[html]
gyj@MYDB> select distinct first_value(path) over(partition by id order by lev desc) from (
2 select connect_by_root id id,level lev, sys_connect_by_path(name,' ') path
3 from test
4 start with id in (select id from test)
5 connect by id=prior fid);
FIRST_VALUE(PATH)OVER(PARTITIONBYIDORDERBYLEVDESC)
---------------------------------------------------------------------------------------
A B C D
B C D
C D
D
[1] [2]

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Oracle Tablespaceサイズを照会するには、次の手順に従ってください。クエリを実行して、TableSpace名を決定します。DBA_TABLESPACesからTableSpace_Nameを選択します。クエリを実行してテーブルスペースのサイズをクエリします:sum(bytes)をtotal_size、sum(bytes_free)asavail_space、sum(bytes) - sum(bytes_free)as sum(bytes_free)as dba_data_files from tablespace_

Oracle View暗号化により、ビュー内のデータを暗号化でき、それにより機密情報のセキュリティが強化されます。手順には以下が含まれます。1)マスター暗号化キー(MEK)の作成。 2)暗号化されたビューを作成し、暗号化されるビューとMEKを指定します。 3)暗号化されたビューにアクセスすることをユーザーに許可します。暗号化されたビューがどのように機能するか:ユーザーが暗号化されたビューを求めてクエリをするとき、OracleはMEKを使用してデータを復号化し、認定ユーザーのみが読み取り可能なデータにアクセスできるようにします。

Oracleでインスタンス名を表示するには3つの方法があります。「sqlplus」と「v $ instanceからselect instance_name;」を使用します。」コマンドラインのコマンド。 「show instance_name;」を使用しますSQL*Plusのコマンド。オペレーティングシステムのタスクマネージャー、Oracle Enterprise Manager、またはオペレーティングシステムを介して、環境変数(LinuxのOracle_Sid)を確認してください。

Oracleインストール障害のためのアンインストールメソッド:Oracleサービスを閉じ、Oracleプログラムファイルとレジストリキーを削除し、Oracle環境変数をアンインストールし、コンピューターを再起動します。アンインストールが失敗した場合、Oracle Universal Uninstallツールを使用して手動でアンインストールできます。

Oracleで時間を取得するには、次の方法があります。Current_Timestamp:現在のシステム時間を秒に正確に返します。 systimestamp:current_timestampよりも正確で、ナノ秒。 sysdate:時間部分を除く現在のシステム日付を返します。 to_char(sysdate、 'yyy-mm-dd hh24:mi:ss'):現在のシステムの日付と時刻を特定の形式に変換します。抽出:1年、月、時間など、時間の値から特定の部分を抽出します。

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

Oracleでユーザーを作成するには、次の手順に従ってください。Createユーザーステートメントを使用して新しいユーザーを作成します。助成金ステートメントを使用して必要な権限を付与します。オプション:リソースステートメントを使用してクォータを設定します。デフォルトの役割や一時テーブルスペースなど、他のオプションを構成します。

Oracleでは、forループループは動的にカーソルを作成できます。手順は次のとおりです。1。カーソルタイプを定義します。 2。ループを作成します。 3.カーソルを動的に作成します。 4。カーソルを実行します。 5。カーソルを閉じます。例:カーソルをサイクルごとに作成して、上位10人の従業員の名前と給与を表示できます。
