【PostgreSQL】PostgreSQL の組み込み関数、ユーザー定義関数、演算子について【Part.9】

公開日時:2018年12月09日 / 最終更新日時:2019年02月11日

今回は PostgreSQL の組み込み関数と演算子について解説します。

 

 

システム情報関数

関数の最後に括弧(カッコ)が付く関数と、付かない関数があるので注意です。

 

■括弧が付く関数

 

 

■括弧が付かない関数

 

データ操作関数

 

データ型書式変換関数

特定のデータ型(int型など)を異なるデータ型に変換するための関数です。

 

 

日付の差分を取得する「age() 関数」

日付の差分を取得します。

 

 

現在の日時を取得する

 

 

random()

random() の戻り値は、0以上1未満です。

 

【参考】

 

 

ユーザー定義関数

PostgreSQL は、ユーザーも関数(FUNCTION)を定義することができます。

 

 

CREATE FUNCTION

CREATE FUNCTION は関数を定義するコマンドです。

 

■使用言語

 

関数(FUNCTION)作成例

【例】

CREATE FUNCTION <関数名>(引数) RETURNS SETOF <返り値の型> AS $$

    <処理> 

$$ LANGUAGE <言語>

 

 

 

関数の所有者の設定

OWNER TO ~ で所有者を設定できます。

【例】

ALTER FUNCTION test_function(INTEGER) OWNER TO test01;

 

 

トリガー(TRIGGER)

SQL 文を実行してテーブルへの更新を引き金として、別の SQL 文を実行する処理を「トリガー(TRIGGER)」と言います。

テーブルに対して特定の操作を行った場合に、必ず別の処理を行う必要がある場合に利用します。

例えば、銀行口座の出し入れを数えたい場合に、結果だけを見ていた場合気が付かないことがあります。(100円入金、100円出金など)

しかしトリガー(TRIGGER)を利用することで銀行口座の出し入れごとにカウントをしていけば、特定の期間に何回出し入れをしたのか数えることができます。

 

 

関数を呼び出すトリガーを作成する

特定のテーブルの値に対して処理が行われたタイミングで、ユーザー定義関数を呼び出すことができます。

 

【例】

CREATE TRIGGER ON <table名>

 

 

 

トリガーを削除する

トリガーを削除する場合は、DROP でテーブル名を指定します。

 

【例】

DROP TRIGGER ON <table名>

 

 

 

 

 

PostgreSQL シリーズ

今まで学習した PostgreSQL の技術をシリーズとしてまとめました。

 

【PostgreSQL】PostgreSQL の特徴と基本【Part.1】

 

【PostgreSQL】【正規化】リレーショナルデータベース(RDMS)の基本【Part.2】

 

【PostgreSQL】PostgreSQL のインストールと初期設定【Part.3】

 

【PostgreSQL】PostgreSQL の標準付属ツールの説明とコマンド手順【Part.4】

 

【PostgreSQL】PostgreSQL の設定ファイル(postgresql.conf、pg_hba.conf)の解説【Part.5】

 

【PostgreSQL】PostgreSQL のバックアップ手順とリストア手順【Part.6】

 

【PostgreSQL】PostgreSQL の運用管理(ユーザー管理、バキューム)【Part.7】

 

【PostgreSQL】PostgreSQL の基本的な SQL文 とオブジェクトについて【Part.8】

 

【PostgreSQL】PostgreSQL の組み込み関数、ユーザー定義関数、演算子について【Part.9】

 

【PostgreSQL】PostgreSQL のトランザクションについて【Part.10】

 

【PostgreSQL】SQL文【Part.11】

 

【PostgreSQL】テーブル設計(データ型、制約)【Part.12】

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Secured By miniOrange