Я работаю над функцией, которая должна искать некоторые таблицы, если вчера была написана хотя бы одна запись.В любом случае, ИСТИНА или ЛОЖЬ должны быть записаны в другую таблицу:
CREATE OR REPLACE FUNCTION SANDBOX.MY_FUNCTION(MY_TABLE regclass, DATE_DIFF INTEGER)
RETURNS void AS $$
DECLARE
RESULT BOOLEAN;
BEGIN
RESULT :=
EXECUTE 'EXISTS
(SELECT DATE FROM ' || MY_TABLE ||
' WHERE DATE = CURRENT_DATE -DATE_DIFF
LIMIT 1)';
INSERT INTO SANDBOX.UPDATED_TODAY VALUES (MY_TABLE, CURRENT_DATE, RESULT);
END;
$$ LANGUAGE plpgsql;
Однако я получаю
[42704]ERROR: type "execute does not exist"
Это мой вызов функции:
SELECT SANDBOX.MY_FUNCTION('datawarehouse_a.table_2', 1);
Кто-нибудь может помочь?Заранее спасибо!: -)
Если вас беспокоит второй параметр: для некоторых таблиц я смотрю, была ли запись не вчера, а 2 дня назад.