テーブルフィールドの1つで文字列を検索し、ユーザーの新しいテーブルを返す関数を作成しようとしています。基本的に、私が持っている1つのテーブルの中に
create table fooSearchTable (
id integer, -- PG: serial
name LongName unique not null,
queryDef LongString not null,
primary key (id)
);
ここで、queryDef
は実行する別のクエリを保持する文字列です。たとえば、1つの行は
1 | resultName | select * from users where users.id = '4'
関数を開始するためにこの関数形式が与えられました
create or replace function searchUsers(_searchName text) returns table (userID integer) as $$
begin
end;
$$ language plpgsql stable;
SQLクエリを実行して、_searchName
一致する行を見つける必要があります。
select queryDef from fooSearchTable f
where f.name = _searchName;
これは文字列を返しますが、関数でこの文字列を実行する方法がわからないため、userIDのテーブルを取得できます。どんな助けでもいただければ幸いです。