我有以下查询,我正在使用..
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语句,而是将这两个语句合并为一个。有没有什么子查询或连接机制可以将它们合并到一个语句中,请告知
发布于 2012-07-12 02:07:04
您需要使用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-12 02:03:19
在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-12 09:24:32
看看MERGE语句。这是UPDATE … FROM的ANSI SQL:2003标准。
文档:
适用于DB2的
的Windows
https://stackoverflow.com/questions/11438659
复制相似问题