gpt4 book ai didi

postgresql - 如何在 Postgresql 脚本中存储常量值

转载 作者:行者123 更新时间:2023-11-29 14:13:26 25 4
gpt4 key购买 nike

我需要在一个表中插入一行,用 uuid_generate_v4() 生成它的键,我需要将该键用作后续插入另一个表中的外键,例如:

\set generated_id uuid_generate_v4()

INSERT INTO
table1(id)
VALUES(:generated_id);

INSERT INTO
table2(id, table1_id)
VALUES(uuid_generate_v4(), :generated_id);

但是当我读取 :generated_id 时,每次它都会给我一个不同的值,就像每次我尝试读取它时它都在重新计算它一样。

是否可以要求 \set 不再重新计算 uuid_generate_v4()?否则如何实现?

最佳答案

您可以使用 psql\gset 将变量设置为查询结果:

SELECT uuid_generate_v4() AS generated_id \gset

这将设置变量 generated_id

要在脚本中使用变量,请像这样引用它:

:'generated_id'

关于postgresql - 如何在 Postgresql 脚本中存储常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com