我正在尝试下面的代码来基于PostgreSQL中的If条件执行查询。但是代码抛出错误“错误:在输入位置:1282的末尾,函数定义的意外末尾”。 有人可以帮我在这里做错什么吗?
do $$ BEGIN
IF ("public"."m_Users"."userName" = 'Bhargavi' AND "public"."m_Users"."userTypeId"!=1)
THEN
SELECT
"public"."m_Users"."userName",
"public"."m_Users"."userTypeId",
"public"."m_school"."name" AS SchoolName,
"public"."m_school"."mediumId",
"public"."m_school"."city",
"public"."m_teacher"."firstName" AS TeacherName
FROM
"public"."m_school" INNER JOIN "public"."m_Users" ON "public"."m_school"."id" = "public"."m_Users"."schoolId"
INNER JOIN "public"."m_teacher" ON "public"."m_school"."id" = "public"."m_teacher"."schoolId"
where
"public"."m_Users"."userName" = 'Bhargavi'
ORDER BY
"public"."m_Users"."userName" asc
ELSE
SELECT
"public"."m_Users"."userName",
"public"."m_Users"."userTypeId",
"public"."m_school"."name" AS SchoolName,
"public"."m_school"."mediumId",
"public"."m_school"."city",
"public"."m_teacher"."firstName" AS TeacherName
FROM
"public"."m_school" INNER JOIN "public"."m_Users" ON "public"."m_school"."id" = "public"."m_Users"."schoolId"
INNER JOIN "public"."m_teacher" ON "public"."m_school"."id" = "public"."m_teacher"."schoolId"
ORDER BY
"public"."m_Users"."userName" asc
END if
end $$