psqlでデータベースを切り替えるコマンド
psqlでデータベースを切り替えるためのコマンドを紹介します。
データベース一覧を表示する
¥とl(=アルファベットのエル)の入力でデータベース一覧が表示されます。
※ 最後の「;」は不要です。
\l
データベースを切り替える
データベースを切り替えるコマンドです。
\c データベース名
psqlでデータベースを切り替えるためのコマンドを紹介します。
¥とl(=アルファベットのエル)の入力でデータベース一覧が表示されます。
※ 最後の「;」は不要です。
\l
データベースを切り替えるコマンドです。
\c データベース名
プロシージャを実行する・呼び出す方法を紹介します。
-- プロシージャを実行する(呼び出す)
-- 呼び出すにはcallを使う(selectは不可)
call プロシージャ名(引数1 , 引数2 , ・・・);
-- 呼び出し例
call testproc(1,2,3);
一から作成すると手間なPROCEDURE用にテンプレを用意しました。
引数や返り値を変更するだけで簡単に作成ができます。
正直自分用なのですが、テンプレとして公開します。
CREATE OR REPLACE PROCEDURE testproc( --プロシージャ名は要変更
INOUT num1 integer,INOUT num2 integer,IN num3 integer) --引数(下に補足あり)
LANGUAGE 'plpgsql' AS $BODY$
BEGIN
--処理を記載
END;
$BODY$;
引数:IN=引数のみ、INOUT=引数+返り値としても使用される ※OUTのみは不可
関数の引数に初期値を設定する書き方を紹介します。
-- 構文
関数名(変数名 型 default 初期値)
-- 例
CREATE OR REPLACE FUNCTION testfnc(arg1 integer default -1) --引数に初期値を設定する
RETURNS integer
LANGUAGE 'plpgsql' COST 100 VOLATILE AS $BODY$
declare
begin
return arg1; -- 引数をそのまま返す関数
end;
$BODY$;
--動作確認(実行すると次のようになります)
select testfnc(3); -- 結果:3(引数で設定した値が返る)
select testfnc(); -- 結果:-1(デフォルト値が返る)
PostgreSQLにおけるWhile文の書き方です。
while 条件文 loop
--条件文がtrueの時にここに書いた処理を繰り返す
end loop;
while hoge < 10 loop
raise info '%', hoge; -- hoge の値を表示
hoge = hoge + 1; -- カウントアップ
end loop;
※使用しているraise文はこちらで説明しています。
ループ文から途中で抜けるには、EXITを使います。
while hoge < 10 loop
raise info '%', hoge; --変数の値を表示
if hoge= 5 then
exit; --exitで強制的にループを抜ける
end if;
hoge= hoge+ 1;
end loop;
関数を削除する方法を紹介します。
-- 関数「testfnc」を削除する。
DROP FUNCTION 関数名(引数);
-- 引数のパターンが一つだけの関数は、関数名だけで削除できます(引数を省略できます。)
DROP FUNCTION 関数名; -- ()なしで書く
-- 例
DROP FUNCTION testfnc(arg1 character varying,arg2 numeric);
DROP FUNCTION testfnc;
関数を実行する・呼び出す方法を紹介します。
-- 関数を実行する(呼び出す)
-- 次の2つともどちらでもOK(同じ意味です)
select * from 関数名(引数1 , 引数2 , ・・・);
select 関数名(引数1 , 引数2 , ・・・); -- * from は省略しても実行できます。
-- 関数の実行例(呼び出し例)
select * From testfnc('a',1);
select testfnc('a',1); --どちらでも同じ(結果も変わらない)
インデックスを追加、削除する構文です。
-- インデックスの作成
CREATE INDEX インデックス名 ON テーブル名 (列名1 , 列名2 , ・・・ );
-- インデックスの削除
DROP INDEX インデックス名;
1行のコメントを入れるには、半角のマイナス2個「--」をコメントにしたい文字の前に入れます。
複数行のコメントを入れるには、「/**/」ををコメントにしたい文字の前後に入れます。
-- 1行のコメント:マイナス二個でコメント扱いになります。
-- 複数行のコメントにするには/* */で文字を囲みます
/* ここから
ここまでがコメントです*/
よく使う比較演算子を紹介します。
-- イコール
if (a = b) then
-- ノットイコール
if (a != c) then
-- 大なり
if (a > b) then
-- 小なり
if (a < c) then
-- 大なりイコール
if (a >= b) then
-- 小なりイコール
if (a <= c) then
-- 条件 かつ 条件の書き方
if (a > b) and (a < c) then
-- 条件 または 条件の書き方
if (a > b) or (a < c) then