oracle

oracle

Oracle シーケンス操作

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

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

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

Oracle ET$で始まるテーブル

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

Oracle SERVERERRORトリガー

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

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

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

Oracle マテビュー作成DDLを取得

SQL*Plusを使いパラメータで指定するマテビューのDDLをファイル出力します。手順は簡単コピペだけの2ステップです。(同時にインデックス、コメントの出力も可能なので便利) 手順1 SQLファイル(get_mview_dd.sql)を作成...
oracle

Oracle ストアドファンクションで配列を返却

Oracleの配列を現場ではなかなかお目にかからないのは私だけでしょうか、、配列と言っても「横に持つ」のではなく「縦に持つ」んですよね。(マニュアルではコレクション型とされています)可変サイズである事は当然だと思いますが、事前に最大サイズを...
oracle

Oracle ファイングレイン監査

ファイングレイン監査の機能を使いあるテーブルへのアクセス状況を調べる事ができます。DMLに関する調査であればトリガーを使って調べている方けっこうあると思いますが、ファイングレイン監査ではDMLはもちろんSELECT文もキャッチできるので便利...