UPDATE文での副問合わせについて

UPDATE文に副問合わせを記述するとエラーになります。なぜですか?
Symfowareでは、UPDATE文に副問合せを指定することはできません。
以下のようなSQL文は実行することができません。

 UPDATE SCM1.TBL1 SET COL1 = (SELECT COL2 FROM SCM1.TBL2 WHERE COL3 = 'a')

上記のようなSQL文は、以下のエラーになります。

 JYP6015E UPDATE文の設定句に副問合せが指定されました

このような場合、SQL文を2つに分けてください。SELECT文の結果をホスト変数で受け取ってから、その結果を用いたUPDATE文を実行するようにします。

 SELECT COL2 INTO :VAL1 FROM SCM1.TBL2 WHERE COL3 = 'a'
 UPDATE SCM1.TBL1 SET COL1 = :VAL1

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 技術サポート
このページの先頭へ