../../image/benilogo.gifPostgreSQL について


PostgreSQL の既存のテーブルの columnデーターを別のColumnにコピーするには。

UPDATE テーブル名 SET column名 = 他column名;
   
これは column の全データーを他のcolumn にコピーすることの実験です。  
当然ながら、 FROM や WHERE でコピーする条件を設定することができます。
さっそく やって見る。
テーブルの確認とUpdate文の実行
 select bhn_code,bhn_name,bhn_kousu,bhn_kousu_1 from bhnmst_test1 ORDER by bhn_code;
  bhn_code  |  bhn_name  | bhn_kousu | bhn_kousu_1
------------+------------+-----------+-------------
 0000-0001  | テスト部品 |           |        9.90
 0000-0002  | ボタン01   |           |        1.00
 0000-0003  | 親部品01   |           |        1.36
 0000-0005  | その次     |           |
 0000-0006  | fffff      |           |
 0000-0007  | 次は七     |           |        1.00
 0000-0008  | 21部品     |           |        1.50
 0000-0009  | 9番目の釘  |           |        1.00
 0000-0010  | 10番目の足 |           |        1.00
 0000-0011  | 湯呑み     |           |        1.00
(10 rows)

beniya=# UPDATE bhnmst_test1 SET bhn_kousu = bhn_kousu_1;
UPDATE 10
beniya=# select bhn_code,bhn_name,bhn_kousu,bhn_kousu_1 from bhnmst_test1 ORDER by bhn_code;
  bhn_code  |  bhn_name  | bhn_kousu | bhn_kousu_1
------------+------------+-----------+-------------
 0000-0001  | テスト部品 |      9.90 |        9.90
 0000-0002  | ボタン01   |      1.00 |        1.00
 0000-0003  | 親部品01   |      1.36 |        1.36
 0000-0005  | その次     |           |
 0000-0006  | fffff      |           |
 0000-0007  | 次は七     |      1.00 |        1.00
 0000-0008  | 21部品     |      1.50 |        1.50
 0000-0009  | 9番目の釘  |      1.00 |        1.00
 0000-0010  | 10番目の足 |      1.00 |        1.00
 0000-0011  | 湯呑み     |      1.00 |        1.00
(10 rows)

   bhnmst_test1 のテーブルの内容を
   確認する。
      

   bhn_kousu はなにもデーターが無い。
  









  UPDATE 文の実行 

  bhnmst_test1テーブルの確認 



  bhn_kousu_1 のデーターが 
  bhn_kousu   にコピーされている。











こうすれば、 同一テーダルのColumnを同一テーブルの別columnにコピーすることが出来るようです。

当然ながら columnの属性はコピー出来るものであるという前提が必要ですけどね。










目次に戻る

Last Update 2006/05/03  15:12 JST

(C) Y.Kondou,2005,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから