下面的代码显示数据类型Varchar附近以及if语句附近的错误-“ VARCHAR”或附近的语法错误
我已经尝试检查区分大小写并分配值。
Declare
Userstate VARCHAR := 'Active' ;
begin
if u.disabled_at is null
then
Userstate = 'Inactive';
else
Userstate = 'Active';
end if
end
select o.id as Organisationid,o.name as OrganisationName, orl.user_id as "UserID", u.username as "UserName" ,
Userstate as "Active/Inactive" ,orl.role as "UserType"
from org_user_roles orl
Full outer join orgs o on
o.id = orl.org_id
Full outer join users u on
orl.user_id = u.id
我必须声明一个变量,并在if-else语句中使用它。其中u.disabled_at是表用户的列。接下来,我试图连接我的表以在select语句和if-else语句的变量中获取输出。
您根本不需要任何plsql,也不需要变量声明和赋值。在查询中,只需使用一个case
表达式:
select
o.id as "OrganisationID",
o.name as "OrganisationName",
u.id as "UserID",
u.username as "UserName",
(case when u.disabled_at is null
then 'Inactive'
else 'Active'
end) as "Active/Inactive",
orl.role as "UserType"
from
org_user_roles orl
full outer join orgs o on o.id = orl.org_id
full outer join users u on orl.user_id = u.id
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句