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