oracleOracle OUTパラメータファンクションの実行 OUTPUTパラメータありファンクション outputパラメータのあるファンクションを実行するにはSQLからの直接実行できません。プロシージャ内での利用や、無名ブロックからの実行になります。 OUTPUTパラメータありファンクションサンプル...2023.04.16oracle
oracleOracle ET$で始まるテーブル Data Pumpは外部表を使っている? ふと気づくといつの間にかにET$から始まるテーブルができていました。調べてみるとData Pumpが動作する際外部表として一時的に作成され、終了すると自動で削除されるテーブルのようです。過去にimp...2023.01.14oracle
oracleOracle 外部表を使ってCSVファイルを参照する 今回の要件 Linux環境にて、国土交通省のサイトからダウンロードしたCSVファイル(Shift_JIS)を外部表として直接SQLから参照できるようにする。 今回は以下のサイトから大字・町丁目レベルの住所データCSVをダウンロードして利用し...2023.01.04oracle
oracleSQL*Plus でSELECTの結果を縦表示する Tanel Poderさんの TPT Script つい先日偶然以下の記事を読んで驚きました。もう随分昔の記事ですが、、、 https://cosol.jp/techdb/2013/12/sqlplus_-_prsql_from_tanel...2023.01.03oracle
oracleOracle SERVERERRORトリガー SQLエラーを発生させたSQLを捕まえる時に活躍します。(作成ユーザにはADMINISTER DATABASE TRIGGERシステム権限が必要です。) SERVERERRORトリガーサンプル CREATE OR REPLACE TRIGG...2022.12.11oracle
oracleOracle テーブル・ファンクション 事前に2つのTYPEを使い列、テーブルの定義が必要となり少し手間ですが、ファンクションの戻り値をテーブル形式にする事ができます。以下は簡単な例題となっていますが、VIEWでは実現できないような複雑なロジックも実装できて便利です。 検証環境作...2022.12.07oracle
oracleOracle マテビュー作成DDLを取得 SQL*Plusを使いパラメータで指定するマテビューのDDLをファイル出力します。手順は簡単コピペだけの2ステップです。(同時にインデックス、コメントの出力も可能なので便利) 手順1 SQLファイル(get_mview_dd.sql)を作成...2022.11.21oracle
oracleOracle ストアドファンクションで配列を返却 Oracleの配列を現場ではなかなかお目にかからないのは私だけでしょうか、、配列と言っても「横に持つ」のではなく「縦に持つ」んですよね。(マニュアルではコレクション型とされています)可変サイズである事は当然だと思いますが、事前に最大サイズを...2022.11.21oracle
oracleOracle ファイングレイン監査 ファイングレイン監査の機能を使いあるテーブルへのアクセス状況を調べる事ができます。DMLに関する調査であればトリガーを使って調べている方けっこうあると思いますが、ファイングレイン監査ではDMLはもちろんSELECT文もキャッチできるので便利...2022.11.20oracle
oracleマルチ・テーブル・インサートinsert allの動作確認 insert allは1回のSQL実行で「複数のテーブル」に対し、insert valuesをまとめて実行できて便利ですが、12cから機能追加となった自動採番機能を適用したテーブルに対しては注意が必要です。(実質使えないでしょう) まずはi...2022.11.20oracle