Ошибка в синтаксисе команды возле оператора 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;

Ответы (0 шт):