様々な基本になるサンプルを記録しています。

不定期更新です。

記事のサイドに使用している商品の紹介も掲載しているので、良ければご覧ください。

FUNCTION

【コマンドプロンプト】FCコマンド

フリーソフトのWINMERGEというソフトでよくテキストの比較を行うことがよくあるけど、 コマンドプロンプトでも比較するコマンドがある。それがFCというコマンド C:\Users\owner>fc /? 2 つのファイルまたはファイル セットを比較し、相違点を表示します。 FC…

【Oracle】データ件数におけるページ分けの計算

タイトルの表現がちょっとよく分からなかったら申し訳ないのだが、 よく、WEBとかで〇〇件中、XX~YY件とかって分けて表示することがあると思う。 今回はその総件数の中で、どのページにどこからどこまでのデータを何件表示されるかという計算ロジックを作っ…

【Oracle】よくあるSPLIT関数を実装する。

さすがにそのままの仕様を実現することはできなかったが、 かろうじてそれに近いものを公開しようと思う。今回使用しているTYPEは以下を参照 fubukin.hatenablog.com create or replace FUNCTION SPLIT_REC ( /* 引数: STR :区切り文字の入った文字列 STR_SP…

【Oracle】複合トリガー

Oracle11gからの新しい機能。 基本的に行トリガーは自分自身のレコードを更新することはできない。 でも、複合トリガーを使うとそんなことができてしまったりする。 これは便利ではあるが、開発では非機能要件をしっかり考慮しておかないと 運用でかなり危な…

【Oracle】DBMS APIでCSVを出力してみる

DBMS APIを使って、CSVの出力するようなファンクションを作ってみた。SQL文を引数にして、テキストが吐き出せるので 何かしら便利に使えそうだとは思っている。とりあえず、適当な型を用意しよう。 CREATE OR REPLACE TYPE STD_VALUE4 AS OBJECT ( VALUE01 V…

【Oracle】DBMS APIでテーブル定義型の確認

SQL文字列を引数にして、そのSQL文字列のテーブル構成情報を出力する。 既存プログラムのSQLのフィールド解析とかで使えそう。まずは型を適当に作成 CREATE OR REPLACE TYPE VALUE10 AS OBJECT ( VALUE01 VARCHAR2(500), VALUE02 VARCHAR2(500), VALUE03 VAR…

【Oracle】バルクバインドでパイプライン関数を作る

TYPEとかの最初の設定は以下の記事を参照にしてください。 fubukin.hatenablog.com フェッチしてバルクバインドするときにリミット値を指定して、 数件ずつデータを出力する方法をとったら、分散処理されて早くなるのだろうか?ただ、実績としては何万という…

【Oracle】汎用的に使えるファンクション関数を作る

TYPEを使用したパイプラインファンクション Oracleの上級テクニックになるのかな? さらにこれよりも複雑なパラレルパイプラインファンクションというのがあるけど、 汎用的に使えるものを作るのであれば、これくらいでいいかな思っています。まずはTYPE(オ…