我需要复制一个特定表格的一行,但是在同一个复制行中,我必须更改主键。在我的例子中,主键是一个三位数的年份。例如:今年是221,明年是222。
我正在使用一个主键为999的记录,我将复制它。现在我需要使它成为动态的(在测试时不必是动态的),这样我就可以将它用于多个表,因为它将从RPGLE中的一个过程调用。
我以前使用过一种非常静态的方法:
INSERT INTO Table
SELECT PK -- the PK is the new year, in this case 222 and all other fields are added as well.
FROM Table
WHERE PK = 999;
而我也曾试图得到这样的东西(我知道这是行不通的):
INSERT INTO Table WHERE PK = 222
SELECT * FROM Table WHERE PK = 999;
我希望这是足够的信息,以了解我想要实现什么,并有可能这样做。
先谢谢你
1条答案
按热度按时间kx1ctssn1#
如果使用表,则不必命名列。
因此,您可以构建动态语句并立即执行: