Gibt SETOF-Zeilen von der PostgreSQL-Funktion zurück
Ich habe eine Situation, in der ich den Join zwischen zwei Ansichten zurückgeben möchte. und das sind viele Spalten. Es war ziemlich einfach in SQL Server. Aber in PostgreSQL, wenn ich den Join mache. Ich erhalte die Fehlermeldung "Eine Spaltendefinitionsliste ist erforderlich".
Gibt es eine Möglichkeit, dies zu umgehen? Ich möchte keine Definitionen für die Rückgabe von Spalten bereitstellen.
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$