根据查询结果动态生成sql insert语句

根据查询结果动态生成sql insert语句,sql,oracle,Sql,Oracle,我必须根据db2和oracle数据库的查询结果生成一系列insert语句。实际上,从这样一个查询 select g.id from SUV_OWNER.gruppi g WHERE EXISTS (SELECT 1 FROM SUV_OWNER.GRUPPIRUOLIPROCEDURE grp WHERE grp.gruppoid=g.gruppoid AND GRP.RUOLOID = 50) AND G.CHIAVE LIKE 'ANA%'; 它生成一系列数字作为输出,这些数字事先不

我必须根据db2和oracle数据库的查询结果生成一系列insert语句。实际上,从这样一个查询

select g.id from SUV_OWNER.gruppi g 
WHERE EXISTS (SELECT 1 FROM SUV_OWNER.GRUPPIRUOLIPROCEDURE grp WHERE grp.gruppoid=g.gruppoid 
AND GRP.RUOLOID = 50)
AND 
G.CHIAVE LIKE 'ANA%';
它生成一系列数字作为输出,这些数字事先不知道是什么

30000  
30001  
.....  
我必须为每个数字生成一个insert语句,如下所示

insert into SUV_OWNER.GRUPPIRUOLIPROCEDURE (GRUPPOID, RUOLOID, PROCEDURAID) values  (30000, 141, 7);  
insert into SUV_OWNER.GRUPPIRUOLIPROCEDURE (GRUPPOID, RUOLOID, PROCEDURAID) values  (30001, 141, 7);
我是sql的新手,如何生成插入序列


谢谢你的帮助,这很容易。只需使用现有查询,并修改SELECT以将INSERT语句与g.id值连接起来

仅供参考:| |是Oracle的字符串连接运算符。我不熟悉DB2,但我相信它支持连接字符串的相同语法。因此,我希望查询可以同时适用于这两个数据库

select 'insert into SUV_OWNER.GRUPPIRUOLIPROCEDURE (GRUPPOID, RUOLOID, PROCEDURAID) values (' || g.id || ', 141, 7);'
from SUV_OWNER.gruppi g 
WHERE EXISTS (
  SELECT 1 
  FROM SUV_OWNER.GRUPPIRUOLIPROCEDURE grp 
  WHERE grp.gruppoid=g.gruppoid 
  AND GRP.RUOLOID = 50)
AND G.CHIAVE LIKE 'ANA%';

您是否介意一种更有效的形式,插入suv_owner.gruppiruoliprocedure。。。从suv_owner.gruppi g…中选择。。。。