【发布时间】:2015-09-27 17:51:18
【问题描述】:
我正在使用 postgresql 9.4 并且在编写函数时我想使用自定义的 error_codes (int)。不过我可能想稍后更改确切的数值。
比如
-1 表示 USER_NOT_FOUND。
-2 表示 USER_DOES_NOT_HAVE_PERMISSION。
我可以在表code_table(code_name::text, code_value::integer) 中定义这些,并在如下函数中使用它们
(SELECT codes_table.code_value FROM codes_table WHERE codes_table.code_name = 'USER_NOT_FOUND')
还有其他方法吗。也许是全局变量?
【问题讨论】:
-
只要坚持到桌子上。如果必须,可以将其封装在一个简单的 SQL 函数中。不过,真的,我认为改变这些值没什么意义,为什么不把它们变成静态的呢?
-
@CraigRinger 我们正在开发一个新系统,并将为错误代码设置格式。例如,[-9 -1] 用于权限相关错误,[-19, -10] 用于检查约束错误。但是,目前尚未设置该格式。也许一旦它被设置,以后它就会被重置。所以我想做好准备。
-
那些不是错误代码,您返回带有
RAISE EXCEPTION的错误代码,并且相当新的版本允许您指定您提出的代码。
标签: postgresql global-variables postgresql-9.4