私は、RETURN QUERYに渡される引数をとり、そのデータが基になるビューからフィードインされる関数を持っています。 関数を実行するとゼロの行が得られますが、select文を実行すると結果は得られます。
私の一部は、 関数のパラメータがまったく読み取られていないと考えています。どんな助言/提案も感謝しています。PosgreSQLの関数パラメータが正しく渡されない
create or replace function my_trans(IN inid character)
RETURNS TABLE(
a_date timestamp without time zone,
pnt_sys character,
nval numeric,
pnt_type character,
gpid integer)
as $$
#variable_conflict use_column
BEGIN
RETURN QUERY
SELECT
BORN_DATE,
MY_SYSTEM,
MY_VALUE,
MY_TYPE,
MY_PAY_ID
FROM vw_psr where nid ~* '$1';
end;
$$ language plpgsql
'(IN inid character varying)'または '(IN inid text)'です。*文字列*引数が必要であるとします。 – joop
また、パラメータ( '$ 1')の配置を引用しないでください。文字通り' '$ 1' 'という文字列を意味します(パラメータに名前を付けたので識別子 'inid'も使用できます)。また、現在の状態では、 'LANGUAGE sql'関数があなたのニーズに適しているかもしれません。 – pozs
@joop ..歓声..それはほとんど問題ではないと思うけど、運がないことを試みました。 – ribbit