1

私が使用している以下のクエリがあります..

select  * from app_subsys_param where assp_name like '%param_name%'

ここで、param_name はパラメーターの名前です。このクエリから、パラメーターに対応する assp_id を取得します。この ID を使用して app_subsys_parmval テーブルを検索し、パラメーターの値を取得します。

 update app_subsys_parmval  set aspv_value = 'true' where assp_id = id_val

2 つの SQL ステートメントを個別に起動する代わりに、両方を 1 つのステートメントで結合できるサブクエリまたは結合メカニズムがあるため、両方を結合したいと考えています。アドバイスしてください。

4

3 に答える 3

2

UPDATE .. FROM次の構文を使用する必要があります。

UPDATE app_subsys_paramval
SET aspv_value = 'true'
FROM app_subsys_param
WHERE app_subsys_param.id = app_subsys_paramval.id
    AND app_subsys_param.value LIKE '%param_name%';
于 2012-07-11T18:07:04.283 に答える
1

MERGE声明を見てください。これは、 の ANSI SQL:2003 標準ですUPDATE … FROM

ドキュメンテーション:

  • Linux/UNIX/Windows 用 DB2 のMERGE
  • DB2 z/OS 9.1 のマージ
于 2012-07-12T01:24:31.787 に答える
1

update ステートメントで副選択を使用します。

UPDATE app_subsys_parmval  
SET aspv_value = 'true' 
WHERE id_val = (SELECT assp_id 
                FROM app_subsys_param 
                WHERE assp_name LIKE '%param_name%')

注意してください、私は*あなたのselect *.

于 2012-07-11T18:03:19.490 に答える