oracle

oracle

Oracle CONNECT BY PRIOR句とLEVEL疑似列を使って階層表示

以下のようなTREE構造をテーブルで保持している時「階層(レベル)」を知りたくなる状況があります。これを「自力」で求めるのは大変ですが、connect by prior句とLEVEL疑似列を使う事で簡単に導出できます。社員名(社員番号) 空...
oracle

Oracle rownumとは

ROENUM疑似列rownum疑似列といいます。rowidと勘違いしそうですが、こちらはselectの結果セットに対し、1から順番に採番してくれる「疑似列」です。もっとも利用されている例の一つに、SELECTの結果件数を制限する事に使ったし...
oracle

DBA_PROCEDURES

ストアド一覧ストアドパッケージは1行で出力する。select w.OWNER,w.OBJECT_NAME,w.OBJECT_TYPE,w.PIPELINED,o.STATUS,o.LAST_DDL_TIME from (selectp.OW...
oracle

Oracle シーケンス操作

シーケンスの作成create sequence seq01 increment by 1 start with 1 maxvalue 99999999minvalue 1 cycle order cache 20;作成シーケンスの確認sel...
oracle

Oracle OUTパラメータファンクションの実行

OUTPUTパラメータありファンクションoutputパラメータのあるファンクションを実行するにはSQLからの直接実行できません。プロシージャ内での利用や、無名ブロックからの実行になります。OUTPUTパラメータありファンクションサンプルCR...
oracle

Oracle ET$で始まるテーブル

Data Pumpは外部表を使っている?ふと気づくといつの間にかにET$から始まるテーブルができていました。調べてみるとData Pumpが動作する際外部表として一時的に作成され、終了すると自動で削除されるテーブルのようです。過去にimpd...
oracle

Oracle 外部表を使ってCSVファイルを参照する

今回の要件Linux環境にて、国土交通省のサイトからダウンロードしたCSVファイル(Shift_JIS)を外部表として直接SQLから参照できるようにする。今回は以下のサイトから大字・町丁目レベルの住所データCSVをダウンロードして利用します...
oracle

SQL*Plus でSELECTの結果を縦表示する

Tanel Poderさんの TPT Scriptつい先日偶然以下の記事を読んで驚きました。もう随分昔の記事ですが、、、https://cosol.jp/techdb/2013/12/sqlplus_-_prsql_from_tanel_p...
oracle

Oracle SERVERERRORトリガー

SQLエラーを発生させたSQLを捕まえる時に活躍します。(作成ユーザにはADMINISTER DATABASE TRIGGERシステム権限が必要です。)SERVERERRORトリガーサンプルCREATE OR REPLACE TRIGGER...
oracle

Oracle テーブル・ファンクション

事前に2つのTYPEを使い列、テーブルの定義が必要となり少し手間ですが、ファンクションの戻り値をテーブル形式にする事ができます。以下は簡単な例題となっていますが、VIEWでは実現できないような複雑なロジックも実装できて便利です。検証環境作成...