#postgresql
Вопрос:
У меня есть задание, в котором я должен выполнить это сообщение в моем интерфейсе pgAdmin. Запрос:
CREATE FUNCTION "f_1"() RETURNS "opaque" AS '
DECLARE
v_laiks timestamp;
v_liet varchar;
BEGIN
v_laiks := now();
v_liet := current_user;
RAISE NOTICE ''=== Sakums ==='';
RAISE NOTICE ''Laiks - %'', v_laiks;
RAISE NOTICE ''Lietotajs - %'', v_liet;
RAISE NOTICE ''Operacija -%'', TG_OP;
IF (TG_OP = ''DELETE'' OR TG_OP = ''UPDATE'') THEN
RAISE NOTICE '' Vec_vert - %'', old.marka;
END IF;
IF (TG_OP = ''INSERT'' OR TG_OP = ''UPDATE'') THEN
RAISE NOTICE '' Jaun_vert - %'', new.marka;
END IF;
RAISE NOTICE ''Parametrs - %'',TG_ARGV[0];
RAISE NOTICE ''=== Beigas ==='';
RETURN NEW;
END;'
LANGUAGE 'plpgsql';
И я получаю:
ОШИБКА: тип «непрозрачный» не существует Состояние SQL: 42704
Не могу понять, почему это не работает.
Ответ №1:
Тип opaque
данных давно устарел и был удален в фиксации bb03010b9f0 в PostgreSQL v13.
Используйте RETURNS trigger
для триггерных функций.