- PR -

UPDATE文

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2004/11/24
投稿数: 25
投稿日時: 2004-11-24 23:54
update table1 INNER JOIN table2 ON table1.JAN_CD = table2.SYC
set b_CD = table2.b_cd

db2コマンドで、上記のようなSQL文を実行したいのですが、
DB2ではSQL0104Nのエラーになってしまいます。

やりたいことはtable2よりb_cdを取得し、
それをtable1のb_cdに更新をしたいのです。
nori
常連さん
会議室デビュー日: 2003/12/16
投稿数: 34
お住まい・勤務地: 新幹線線路の隣
投稿日時: 2004-11-25 08:55
こんにちは。

[quot]
update table1 INNER JOIN table2 ON table1.JAN_CD = table2.SYC
set b_CD = table2.b_cd

db2コマンドで、上記のようなSQL文を実行したいのですが、
DB2ではSQL0104Nのエラーになってしまいます。

やりたいことはtable2よりb_cdを取得し、
それをtable1のb_cdに更新をしたいのです。
[/quot]

db2のSQLは知らないのですが、
updateの構文そのものが間違っているのではないでしょうか?
updateの次には、更新したいテーブル。fromでどのテーブルから変更するかを
指定できると思います。

SQL0104Nを調べたら見つかった。↓
http://www.db2.jp/siryo/db2online/db2m0/frame3.htm#sql0100

ishi
会議室デビュー日: 2004/07/16
投稿数: 17
投稿日時: 2004-11-25 19:36
こんにちは。

質問者さんがやりたいことは次のSQLで可能と思います。

update table1 set b_cd = ( select b_cd from table2 where table1.jan_cd=table2.syc )
where exists ( select * from table2 where table1.jan_cd=table2.syc )
未記入
常連さん
会議室デビュー日: 2004/11/24
投稿数: 25
投稿日時: 2004-11-25 20:11
ありがとうございました!
うまくいきました。
1

スキルアップ/キャリアアップ(JOB@IT)