如何将函数结果分配给 SELECT 的 WITH 子句中的名称?

How can I assign a function result to a name in the WITH clause of a SELECT?

如何将函数结果分配给 WITH 子句中的名称?

尝试过:

with
    has_perm as ( has_perm(:user) )
select * from my_table where has_perm = 'Y'

这是你想要的吗?

with has_perm as (
      select has_perm(:user) as has_perm
      from dual
     )
select *
from my_table
where 'Y' = (select has_perm from has_perm);

为什么不在没有 CTE 的情况下写这个?

select *
from my_table
where has_perm(:user) = 'Y';