Я использую postgresql 9.4, и при написании функций я хочу использовать самоопределенные error_codes (int). Однако Возможно, я захочу изменить точные числовые значения позже.
Например,
-1 означает USER_NOT_FOUND.
-2 означает USER_DOES_NOT_HAVE_PERMISSION.
Можно ли определить глобальные переменные в postgresql
я могу определить их в таблице codes_table (code_name :: текст, code_value :: целое число) и использовать их в функциях следующим
(SELECT codes_table.code_value FROM codes_table WHERE codes_table.code_name = 'USER_NOT_FOUND')
Есть еще один способ для этого. Может быть, глобальные переменные?
Просто придерживайтесь стола. Оберните его простой SQL-функцией, если нужно. На самом деле, хотя я не вижу смысла изменять ценности, почему бы просто не сделать их статичными? –
@CraigRinger Мы разрабатываем новую систему, и для кодов ошибок будет установлен формат. Например, [-9 -1] предназначен для ошибок, связанных с разрешением, [-19, -10] для ошибок проверки ограничений. Однако этот формат пока не установлен. И, возможно, когда он будет установлен, позже он будет сброшен. Поэтому я хочу быть готовым. –
это не коды ошибок, вы возвращаете коды ошибок с 'RAISE EXCEPTION' и достаточно свежими версиями, которые позволяют вам указать код, который вы поднимаете. – Jasen