我环顾四周但找不到任何我认为可以帮助的东西,所以我在这里问。我非常了解Microsoft SQL但不是PostgreSQL,在尝试进行PostgreSQL查询时,我立即陷入困境,并意识到在完成查询之前我会做很多练习,因此请求帮助。
所以我需要帮助的是
步骤1和2的原因是因为我需要获取一个包含计数器的值,我需要将该计数器用于创建我应用于步骤4的ID。所以首先我需要获取该id,然后保存变量中的单个值。然后,对于表B中的每一行,我需要使用新的和改进的id更改id列值。如果我能从头到尾获得完整的一切声明,我将不胜感激。例如,我甚至没有设法声明一个返回硬编码varchar值的函数......
由于
答案 0 :(得分:2)
尝试用简单的SQL思考:
INSERT INTO target
SELECT as_is_col1, as_is_col2,
mod_col1*10,
mod_col2||' extra text',
row_number() OVER () AS rn
FROM source
WHERE wanted_col BETWEEN 100 AND 500;
Check the docs. 当然,所选列的数量及其类型应与您要插入的表格相匹配。
我在这里使用窗口函数row_number()
迭代行。这消除了迭代的需要。