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

现在不是单独启动两个sql语句,我想将它们结合起来,因为有没有任何子查询或连接机制可以将它们结合在一个语句中,请指教

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

文档:

  • MERGE for DB2 for Linux/UNIX/Windows
  • DB2 z/OS 9.1 的合并
于 2012-07-12T01:24:31.787 回答
1

在更新语句中使用子选择:

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 回答