私はカスタムタイプを持っています:
create type some_type as (
some_bool_param boolean,
str varchar
);
このタイプのフィールドを含むテーブルを作成し、いくつかのデータを挿入します。
create table test_table (
strs some_type
);
insert into test_table(strs) values
((false, 'First str'))
, ((false, 'Second str '))
, ((false, 'Third str'))
, ((false, 'Yet another str'));
そして今、私はデータのセットを返そうとしsome_type
ます:
create or replace function get_str() returns setof some_type as
$$
declare
r some_type;
begin
for r in
select * from test_table loop
return next r;
end loop;
return;
end;
私は電話しますget_str()
:
select * from get_str();
しかし、エラーが発生します:
ERROR: error in boolean type value: "(f,"First str")" CONTEXT: PL/pgSQL function "get_str" line 4 at FOR by result of SELECT
どうすれば修正できますか?