[pgsql-jp: 34263] Re: 同一テーブル内での列コピー

矢内原 契 kei @ easylife.co.jp
2004年 11月 11日 (木) 23:26:59 JST


矢内原@イージーライフです。

以下のようなSQLじゃダメですか?
update test set date2=date1 where date2 is null;

> こんばんは。
> 島田と申します。
>
> test --- pk(id,name), date1(not null)
>
> id     name     date1   date2
> -----------------------------
> 1      a     2004/10/1  2004/11/1
> 2      a     2004/12/1
> 3      b     2005/1/1   2005/2/1
> 4      c     2005/2/1
>
> 〜〜〜 snip 〜〜〜
>
> 上記のようなテーブルがあり、date2がNULLの時には、
> date1の値をそのままdate2に移行したいと思っています。
> レコード数は2万ほどあり、極端に時間のかかる処理(5分以上)はNGです。
>
> 実は、SQLで簡単にできればそうしたいですし、
> プロシージャでも工夫をすれば、負荷をかけずにスマートにできるということであればそうしたいと思っています。
> もし、いずれも駄目な場合には、PHPでファイルに落として、\COPYを絡めて、
> やっていこうと思っています。
>
> スマートで簡単な方法があるようでしたらば、教えて頂けたらと思います。




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