在plpgsql中初始化多维数组

发布于 2024-10-20 02:29:19 字数 39 浏览 1 评论 0原文

有人可以告诉我如何在 plpgsql 中初始化多维数组吗?谢谢。

can someone tell me how to initialize a multidimensional array in plpgsql? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

太阳公公是暖光 2024-10-27 02:29:19
CREATE OR REPLACE FUNCTION foo() 
RETURNS text[]
LANGUAGE plpgsql
AS
$
DECLARE
    var text[][];
BEGIN
    var := array[['1', 'a'],['2', 'b']];
    RETURN var;
END;
$;

测试:

SELECT foo();
CREATE OR REPLACE FUNCTION foo() 
RETURNS text[]
LANGUAGE plpgsql
AS
$
DECLARE
    var text[][];
BEGIN
    var := array[['1', 'a'],['2', 'b']];
    RETURN var;
END;
$;

Test:

SELECT foo();
ゞ花落谁相伴 2024-10-27 02:29:19
pavel=# select array_fill(0, ARRAY[2,2]);
  array_fill   
───────────────
 {{0,0},{0,0}}
(1 row)

pavel=# select array_fill('a'::text, ARRAY[2,2,2]);
          array_fill           
───────────────────────────────
 {{{a,a},{a,a}},{{a,a},{a,a}}}
(1 row)
pavel=# select array_fill(0, ARRAY[2,2]);
  array_fill   
───────────────
 {{0,0},{0,0}}
(1 row)

pavel=# select array_fill('a'::text, ARRAY[2,2,2]);
          array_fill           
───────────────────────────────
 {{{a,a},{a,a}},{{a,a},{a,a}}}
(1 row)
忘羡 2024-10-27 02:29:19

相关帖子:PostgreSQL:错误:数组下标超出范围

示例:
做$$
宣布
一个整数[][];
开始
aa := array_fill(0, 数组[5,3]);
引发通知 'aa: %', aa;
for c1 in 1..5 循环
for c2 in 2..3 循环
aa[c1][c2] := c1*c2;
结束循环;
结束循环;
引发通知 'aa: %', aa;
结尾; $$

post in relation : PostgreSQL: ERROR: array subscript out of range

Example:
DO $$
declare
aa integer[][];
begin
aa := array_fill(0, array[5,3]);
raise notice 'aa: %', aa;
for c1 in 1..5 loop
for c2 in 2..3 loop
aa[c1][c2] := c1*c2;
end loop;
end loop;
raise notice 'aa: %', aa;
end; $$

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文