sooni

oracle

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

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

ストアドファンクション(配列を返却)

CREATE FUNCTION (配列を返却) PostgreSQLの良いところの一つに配列を簡単に利用できる点です。システムで提供しているファンクションの中にも普通に返却値を配列にしているものもあります。そのせいか配列を操作する配列関数が...
oracle

Oracle ファイングレイン監査

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

マルチ・テーブル・インサートinsert allの動作確認

insert allは1回のSQL実行で「複数のテーブル」に対し、insert valuesをまとめて実行できて便利ですが、12cから機能追加となった自動採番機能を適用したテーブルに対しては注意が必要です。(実質使えないでしょう) まずはi...
oracle

Oracle 結合UPDATE

テーブル結合を行ったUPDATE 業務アプリではあまり見かけませんが、テストデータを作成したりテーブルデータの手動メンテナンスなどに活躍します。2種類の更新方法を記載します。 まずは今回のテストデータは以下の通りです fruitテーブルのp...
PostgreSQL

ストアドファンクションのソースをファイル出力

pg_get_functiondef() ソースを出力するSQL select pg_get_functiondef((select max(t.oid) from pg_proc t ,pg_namespace n where t.pro...
PostgreSQL

PostgreSQL シーケンス(sequence)

シーケンスの作成と削除 シーケンスの作成SQL シーケンス名recnoを作成しています。PostgreSQLのシーケンスキャッシュのデフォルト値は1です。Oracleでの経験ですが、キャッシュ値を1にするとかなり遅くなる事経験したのでここで...
データ・ディクショナリ

Oracle シーケンス一覧

DBA_SEQUENCES dba_sequencesを参照する事でシーケンス一覧を出力できます。 シーケンス一覧出力SQL select s.SEQUENCE_OWNER,s.SEQUENCE_NAME,s.MIN_VALUE,s.MAX...
PostgreSQL

PostgreSQL 自動採番カラム

自動採番カラム 自動採番にしたいカラムを連番型で定義するだけで実現できます。Oracleに比べるととても楽ちんです。内部的にはシーケンスが作成され対象カラムにマッピングされます。以下連番型(serial)を指定すると実際は()の型で作成され...
データ・ディクショナリ

Oracle トリガー一覧

DBA_TRIGGERS DBA_TRIGGERSそ参照する事でトリガー一覧を確認できます。dba_usersと結合しているのはシステム提供トリガーを対象から外すためです。※dba_users.common='NO' としているのはシステム...