gpt4 book ai didi

sql - 如何在 SELECT 语句中使用 postgres 变量?

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

我将一个值存储在变量 featureId 中,然后尝试在 SELECT 语句中使用该值,但 postgres 似乎按字面意思获取名称并查找名为“featureid”的列。我收到错误“错误:列“featureid”不存在”第 4 行:featureId,"

我的代码如下。如何在 SELECT 语句中使用变量的值?

SELECT id INTO featureId FROM tableA WHERE NAME = 'some value';

INSERT INTO tableB (client_id, feature_id, does_have)
SELECT
id,
featureId,
TRUE
FROM tableA

最佳答案

如果没有声明的变量,您的 SELECT INTO 就是 SELECT INTO that creates a table 的版本。要亲自查看它,请尝试:

SELECT id
INTO featureid
FROM tablea
WHERE name = 'some value';

SELECT *
FROM featureid;

为了将值分配给变量,必须声明该变量。您可以使用匿名 DO block 。

DO
$$
DECLARE
featureid tablea.id%TYPE;
BEGIN
SELECT id
INTO featureid
FROM tablea
WHERE name = 'some value';

INSERT INTO tableb
(client_id,
feature_id,
does_have)
SELECT id,
featureid,
true
FROM tablea;
END;
$$
LANGUAGE plpgsql;

关于sql - 如何在 SELECT 语句中使用 postgres 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56193403/

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