Ошибка в синтаксисе команды возле оператора IF PostgreSQL
помогите пожалуйста, пишет syntax error at or near "IF", уже не знаю что делать. Советы в инете не помогли, пишу сюда. Заранее спасибо
CREATE FUNCTION "FILM"."Actor_Select"
(
"FilterFilmID" INT DEFAULT NULL
)
RETURNS setof "FILM"."Actors" AS
$$
BEGIN
IF "FilterFilmID" IS NULL THEN
SELECT "FILM"."Actors"."ActorID", "FILM"."Actors"."Name", "FILM"."Actors"."Surname", "FILM"."Actors"."DateOfBirth" FROM "FILM"."Films"
LEFT JOIN "FILM"."Films_Actors" ON "FILM"."Films_Actors"."FilmID" = "FILM"."Films"."FilmID"
LEFT JOIN "FILM"."Actors" ON "FILM"."Films_Actors"."ActorID" = "FILM"."Actors"."ActorID";
ELSE
SELECT "FILM"."Actors"."ActorID", "FILM"."Actors"."Name", "FILM"."Actors"."Surname", "FILM"."Actors"."DateOfBirth" FROM "FILM"."Films"
LEFT JOIN "FILM"."Films_Actors" ON "FILM"."Films_Actors"."FilmID" = $1
LEFT JOIN "FILM"."Actors" ON "FILM"."Films_Actors"."ActorID" = "FILM"."Actors"."ActorID";
END IF;
END
$$
LANGUAGE sql;