ストアドプロシージャを処理するDelphiアプリケーションに取り組んでいます。insertステートメントのストアドプロシージャを作成しましたが、アプリケーションで正常に機能します。さて、selectステートメントにも同じものを作成したいと思いました。
CREATE TYPE list_all_firstname AS ( first_name character varying);
CREATE FUNCTION select_sp()
RETURNS SETOF list_all_firstname AS
$$
DECLARE
rec record;
BEGIN
FOR rec IN (SELECT first_name FROM person) LOOP
RETURN NEXT rec;
END LOOP;
END;
$$ LANGUAGE plpgsql;
呼び出しは次のとおりです。
SELECT * FROM select_sp();
これまで、postgresではすべてが正常です。delphiアプリケーションでこのストアドプロシージャにアクセスしたかったのです。私のコードは次のとおりです。
with StoredProc2 do begin
StoredProcName :='select_sp';
ExecProc;
Edit5.Text:=ParamByName('list_all_firstname').AsString ;
end;
しかし、「オブジェクトが見つかりませんでした」というエラーが表示されます。delphiのストアドプロシージャの戻り値にアクセスするにはどうすればよいですか?