Home > CakePHP | PHP | 未分類 > PostgreSQLでカラム名(列名)を取り出す方法

PostgreSQLでカラム名(列名)を取り出す方法

CakePHPでscaffoldの代わりみたいな感じで、自動に挿入されるcreatedやID等を取り除いたヘルパーライクな物を作ってます。
で、開発環境がPostgreSQLなので・・・汎用的にカラム名を取り出す方法が全く分からず。
調べていたら会社の先輩が教えてくれました!

とりあえず、かなり特殊なので・・・メモっておきましょう。

問題のSQL文はこちら。


SELECT
pg_class.relname,
pg_attribute.attname,
pg_attribute.atttypmod,
pg_attribute.attnum,
pg_attribute.attalign,
pg_attribute.attnotnull,
pg_type.typname
FROM
pg_class,
pg_attribute,
pg_type
WHERE
pg_class.oid = pg_attribute.attrelid and
pg_attribute.atttypid = pg_type.oid and
pg_class.relname='テーブル名' and
pg_attribute.attnum > 0
ORDER BY
pg_attribute.attnum;

これで、カラム名を含んだ検索結果を出してくれます。

いやぁ、超マニアックな技過ぎ・・・・。
PostgreSQLを使ってプログラミングされてる方は是非どうぞ。

[tags]PostgreSQL,SQL,カラム名を取り出す[/tags]

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://manjiro.net/archives/73/trackback
Listed below are links to weblogs that reference
PostgreSQLでカラム名(列名)を取り出す方法 from デジタル料理人 - Webプログラマコンサル屋 -

Home > CakePHP | PHP | 未分類 > PostgreSQLでカラム名(列名)を取り出す方法

カテゴリー
blog chart

Return to page top