13

2 つのビュー間の結合を返したい状況があります。それはたくさんの列です。SQLサーバーではかなり簡単でした。しかし、私が結合を行うとき、PostgreSQLでは。「列定義リストが必要です」というエラーが表示されます。

これを回避する方法はありますか? 返す列の定義を提供したくありません。

CREATE OR REPLACE FUNCTION functionA(username character varying DEFAULT ''::character varying, databaseobject character varying DEFAULT ''::character varying)
  RETURNS SETOF ???? AS
$BODY$
Declare 
SqlString varchar(4000) = '';
BEGIN
IF(UserName = '*') THEN
   Begin
   SqlString  := 'select * from view1 left join ' + databaseobject  + ' as view2 on view1.id = view2.id';
   End;
ELSE
    Begin
    SqlString := 'select * from view3 left join ' + databaseobject  + ' as view2 on view3.id = view2.id';
    End;
END IF; 
execute (SqlString  );
END;
$BODY$
4

1 に答える 1