小编Udi*_*Udi的帖子

PostgreSQL - 检查值是否等于枚举值

我有以下枚举声明:
CREATE TYPE known_roles_list AS ENUM ('role1', 'role2')

当数据库执行某个查询时,我希望检查他们是否使用这些角色之一执行此操作,如果没有 - 让查询通过。就像是:

IF current_user NOT IN known_roles_list THEN
    RETURN OLD; 
END IF;
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码不起作用(引发了运行时比较错误)。也没有unnest()-ing 枚举值并在其中搜索。

我如何进行搜索 - 并查看是否有任何枚举值与该值匹配current_user?(该current_user值只是一个示例 - 稍后,我需要将这些枚举值与行值进行比较,以列表示)

谢谢!

sql postgresql enums

1
推荐指数
1
解决办法
5858
查看次数

标签 统计

enums ×1

postgresql ×1

sql ×1