[pgsql-jp: 37579] Re: now() について

星野 正利 hoshinom @ smail.plala.or.jp
2006年 10月 18日 (水) 00:02:31 JST


はじめまして、星野と申します。

> 下記は上記の二つの文をひとつの文にしようとして実行してみようと思ったのですが、実行できません。
> 二つの文にして実行していくしかないのでしょうか?
> 申し訳ありませんがアドバイスをお願いします。
> 
> #=====1つにしてINSERTを実行=====
> $result3 = $conn->exec("INSERT INTO bp_inquiry
> (inquiry_id,bp_cat_id,serial_id,product_name,status,customers_email_address,cus
> tomers_name,message,entry_date,up_date) VALUES
> (nextval('bp_inquiry_seq'),'$bp_cat_id', '$name', '$honbun',to_char(now(), 
> 'yyyy.mm.dd hh24:mi:ss'))");
> 

INSERT INTO SELECTは使えないでしょうか?

例えば、こんな感じ
INSERT INTO bp_inquiry
    (inquiry_id,bp_cat_id,serial_id,product_name,status,customers_email_address
    ,customers_name,message,entry_date,up_date) 
SELECT nextval('bp_inquiry_seq'),'$bp_cat_id', '$name', '$honbun'
    ,to_char(now(),'yyyy.mm.dd hh24:mi:ss');


PostgreSQLのマニュアルに、ちょっとだけ例が載っています。

INSERT
http://www.postgresql.jp/document/pg814doc/html/sql-insert.html
> この例では、filmsテーブルと同じ列レイアウトを持つtmp_filmsテーブルからfilmsテーブルへいくつか行を挿入します。
> INSERT INTO films SELECT * FROM tmp_films WHERE date_prod < '2004-05-07';


--
星野正利
hoshinom @ smail.plala.or.jp





pgsql-jp メーリングリストの案内