如何在postgres的insert查询期间反引用另一列中的计算列值(查询运行时(临时变量分配)

xvw2m8pv  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(195)

在mysql中有一些有用的语法 SELECT @calc:=3,@calc ,但我在postgresql上找不到解决这个问题的方法
这个想法是这样的:

SELECT (SET) autogen := UUID_GENERATE_v4() AS id, :autogen AS duplicated_id;

返回两列值相同的行
编辑:对常规\set不感兴趣,我需要对数百行执行此操作

hwamh0ep

hwamh0ep1#

可以使用子查询:

select id, id as duplicated_id
from (select UUID_GENERATE_v4() AS id
     ) x

postgres不会混淆 select 通过允许变量赋值。即使这样做了,也不能保证表达式的求值顺序 select ,所以你仍然不能确定它是否有效。

相关问题