gpt4 book ai didi

PostgreSQL 9.3 : Return strings from function

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

我有以下称为 pro() 的函数。我想通过联合所有两个 select 语句和产品输出从中返回字符串。

函数:pro()

我的尝试:

create or replace function pro()
returns varchar as

$$

declare
sql varchar;
q varchar;
begin
sql := 'SELECT DISTINCT CAST(COUNT(ProductNumber) as varchar) ||'' - Count of the product Number '' as Descp
FROM product
UNION ALL
SELECT DISTINCT CAST(COUNT(ProductName) AS varchar) || '' - Count of the product Name '' as Descp
FROM product';

raise info '%',sql;

execute sql into q;

return q;

end;
$$

language plpgsql;

调用函数:

select pro();

这只返回 select 语句的第一部分:

 ______________________________________
|pro |
|character varying |
|______________________________________|
|6 - Count of the product Number |
|______________________________________|

预期的结果应该是:

 ______________________________________
|pro |
|character varying |
|______________________________________|
|6 - Count of the product Number |
|______________________________________|
|6 - Count of the product Name |
|______________________________________|

最佳答案

尝试使用这些函数:

使用plpgsql

create or replace function pro1()returns 
table (
descp text
)
as
$$
begin
return QUERY execute (
'SELECT DISTINCT CAST(COUNT(product) as varchar) ||'' - Count of the product Number '' as Descp
FROM product
UNION ALL
SELECT DISTINCT CAST(COUNT(productid) AS varchar) || '' - Count of the product Name '' as Descp
FROM product');
end;
$$
language plpgsql;

使用sql

create or replace function pro2() returns table  ( descp text) 
as
$$
SELECT DISTINCT CAST(COUNT(product) as varchar) ||' - Count of the product Number ' as Descp
FROM product
UNION ALL
SELECT DISTINCT CAST(COUNT(productid) AS varchar) || ' - Count of the product Name 'as Descp
FROM product;
$$
language sql;

关于PostgreSQL 9.3 : Return strings from function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28103644/

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