PostgreSQL 将表列结果保存到变量中

Posted

技术标签:

【中文标题】PostgreSQL 将表列结果保存到变量中【英文标题】:PostgreSQL save table columns results into variables 【发布时间】:2021-01-22 06:58:01 【问题描述】:

我有这个功能:

DECLARE 
    _first_name text;
    _last_name  text;
BEGIN
SELECT 
    emp.first_name INTO _first_name,
    emp.last_name INTO _last_name,
FROM employee emp LIMIT 1
END;

(我简化了函数以消除信息噪声)

如您所见,由于“限制”,我只能得到 1 个结果。所以我需要将这 2 列存储到我的 2 个变量中。但我收到类似“INTO 指定不止一次”之类的错误。如何绕过这个,有什么想法吗?

【问题讨论】:

INTO 是一个子句,与多个变量一起使用一次。错误消息似乎很清楚,这就是为什么我迟迟才投票关闭的原因。 【参考方案1】:

使用INTO一次,如下:

SELECT 
    emp.first_name, emp.last_name INTO _first_name, _last_name
FROM employee emp LIMIT 1

列和变量必须分别处于相同的顺序。

【讨论】:

以上是关于PostgreSQL 将表列结果保存到变量中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LINQ 将表列查询到数组中

如何将表列从十进制更改为 varchar [重复]

PostgreSQL:将表值函数串行应用于一组值和 UNION ALL 结果

SQL...如何将表查询的结果自动保存到*.txt文件中?

SQL...如何将表查询的结果自动保存到*.txt文件中?

如何将表列转换为数组?