sql - 在 plpgsql (postgres) 中创建多维 varchar/text 数组

标签 sql arrays postgresql text plpgsql

我有一些功能想从服务器端代码获取到数据库中。

我不知道如何在 plpgsql 中设置多维 varchar 数组的值。

这是我正在尝试做的一个例子:

`CREATE OR REPLACE FUNCTION my_function (my_arg integer) RETURNS text[][] AS  
$$   
DECLARE  
   my_arr varchar[][];  
   r_row RECORD;  
   counter integer:= 1;  
BEGIN  
   FOR r_row IN SELECT my_stuff1, my_stuff2 FROM my_table WHERE my_val = my_arg LOOP  
       my_arr[counter][1] := r_row.my_stuff1;
       my_arr[counter][2] := r_row.my_stuff2;
       my_arr[counter][3] := 'my_string';
   END LOOP;  
   return my_arr;
END;  
$$
LANGUAGE plpgsql;`

对于我的生活,我无法弄清楚如何让它发挥作用。

任何帮助都会很棒。顺便说一句,我正在使用 postgres 8.1(卡在那个版本)。

最佳答案

这样试试,我测试没问题。

CREATE OR REPLACE FUNCTION my_function (my_arg integer) RETURNS text[][] AS
$$
DECLARE
   my_arr varchar[][];
   r_row RECORD;
   counter integer:= 1;
BEGIN
   FOR r_row IN SELECT my_stuff1, my_stuff2 FROM my_table WHERE my_val = my_arg LOOP
       my_arr[counter] := array[r_row.my_stuff1,r_row.my_stuff2,'my_string'];
       counter :=counter+1;
   END LOOP;
   return my_arr;
END;
$$
LANGUAGE plpgsql;

关于sql - 在 plpgsql (postgres) 中创建多维 varchar/text 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3427230/

相关文章:

sql - ORACLE CONNECT BY LEVEL 产生重复行

java - 在 Java 中从数组中提取单个随机字符串

PHP:如果它是关联数组,如何通过数组的数字偏移量获取数组的值?

python - 如何清除原始 sql 文件中的注释

MySQL 左连接带有子 IsDeleted 标志

sql - INSERT IF NOT EXISTS 具有 NULL 值

带有嵌套选择的 MySQL 触发器

php - 如何检查一个名称在数组中是否存在多次

php - Laravel Eloquent - 在 PostgreSQL 中更新 JSON col 时遇到问题

postgresql - pg_xlog 文件不在从机上回收