If语句根据条件执行命令

时间:2020-05-15 06:05:14

标签: postgresql if-statement

我正在尝试下面的代码来基于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 $$

0 个答案:

没有答案