//Написал функцию, sqnc_nomenclature - последовательность
CREATE OR REPLACE FUNCTION directories.gen_nomcode()
RETURNS text AS
$BODY$BEGIN
RETURN to_char(nextval('sqnc_nomenclature'), 'FM099999999');
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION directories.gen_nomcode() OWNER TO postgres;
запускаю на выполнение...
select directories.gen_nomcode();
но не срабатывает...ругается:
ERROR: отноС?ение "sqnc_nomenclature" РЅРµ существует
КОНТЕКСТ: SQL-команда: "SELECT to_char(nextval('sqnc_nomenclature'), 'FM099999999')"
PL/pgSQL function "gen_nomcode" line 2 at RETURN
********** Ошибка **********
ERROR: отношение "sqnc_nomenclature" не существует
SQL state: 42P01
Контекст:SQL-команда: "SELECT to_char(nextval('sqnc_nomenclature'), 'FM099999999')"
PL/pgSQL function "gen_nomcode" line 2 at RETURN
не видет последовательность? а почему? разве последовательности не видны из функций? или я на выполнение не так запускаю?...я новичек...расскажите...дайте ума!
Ну во-первых
Ну во-первых такую функцию можно написать и в языке SQL, а во-вторых последовательность наверное тоже находится в схеме directories...
итого имеем: