检查枚举类型是否存在并添加值
我是PostgreSQL的新手。如果存在类型,我正在尝试将新值添加到类型:
ALTER type ProcessStatus ADD VALUE IF NOT EXISTS 'Processing';
上面的查询将“处理”添加到类型ProcessStatus,但我想首先检查类型是否存在。
我尝试在下面尝试,
DO $$
BEGIN
IF EXISTS(SELECT oid FROM pg_type WHERE typname = 'ProcessStatus')
THEN
ALTER TYPE ProcessStatus ADD VALUE IF NOT EXISTS 'Processing';
END IF;
END $$;
当类型不存在时,我会得到此错误:
SQL错误[25001]:错误:Alter类型...添加无法从一个 功能
I'm new to PostgreSQl. I'm trying to add new values to type if type exists:
ALTER type ProcessStatus ADD VALUE IF NOT EXISTS 'Processing';
Above query will add 'Processing' to type ProcessStatus, but I want to check if type exists first.
I tried like below
DO $
BEGIN
IF EXISTS(SELECT oid FROM pg_type WHERE typname = 'ProcessStatus')
THEN
ALTER TYPE ProcessStatus ADD VALUE IF NOT EXISTS 'Processing';
END IF;
END $;
I get this error when type doesn't exist:
SQL Error [25001]: ERROR: ALTER TYPE ... ADD cannot be executed from a
function
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论