pgsql: функция генерации пароля

Задача: сбросить у всех пользователей пароль

Решение: воспользуемся функцией генерации пароля:

PostgreeSQL: добавление функций

Часто чтобы не плодить логику в приложении, проще часть функционала по вычислению чего-либо возложить на сервер БД. Для этого и нужны функции. Причем в Postgree мне они понравились много больше чем в MySQL в плане простоты и удобства.

Любая функция в PostgreeSQL начинается с объявления функции, перечисления используемых переменных, тела функции и в конце возврат результата выполнения функции.

Объявление функции:

Объявление переменных, идет после команды DECLARE. перечисляются заранее все переменные с указанием их типов, которые будут использоваться внутри функции. Например:

DECLARE
status integer; — число
st_online boolean; — true/false
stations integer[]; — массив чисел

Сама функция пишется непосредственно между BEGIN и END; Доступны элементарные условия:

Поместить результат запроса в переменную или в массив:

Перебор массива:

Результирующий пример готовой функции:

PHP: Особенности работы с PostrgeeSQL через PDO

Работа с типом boolean. А именно типы bollean нужно явно переводить в 1 или 0 при вставке в таблицу. Например:

Работа с null в запросе. Если вдруг какаято переменная может быть null, то запрос нужно преобразовывать: