Comments 4
Здорово, спасибо. Но это надо бы поместить в блог PostgreSQL.
Спасибо! Как раз недавно коллеги решали такую задачу с помошью временных таблиц. Про Customized Options не знал, беру на заметку.
В итоге 3 вариант был модифицирован до:
CREATE OR REPLACE FUNCTION setvar(p_name character varying, p_val character varying, p_name2 character varying, p_val2 character varying)
RETURNS void AS
$BODY$BEGIN
EXECUTE 'SET SESSION usrvar.'||$1||' = '''||$2||'''; SET SESSION usrvar.'||$3||' = '''||$4||''';';
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
Также присутствуют функции для 1 — 2 переменных.
CREATE OR REPLACE FUNCTION setvar(p_name character varying, p_val character varying, p_name2 character varying, p_val2 character varying)
RETURNS void AS
$BODY$BEGIN
EXECUTE 'SET SESSION usrvar.'||$1||' = '''||$2||'''; SET SESSION usrvar.'||$3||' = '''||$4||''';';
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
Также присутствуют функции для 1 — 2 переменных.
Sign up to leave a comment.
PostgreSQL. Пользовательские данные в рамках сессии