Кто-нибудь знает, можно ли объявить значение COUNT в качестве переменной для вызова в запросах/функциях/триггерах?Объявить значение COUNT как переменную (PostgreSQL)
Я хотел бы использовать значение COUNT для запуска передачи данных из table1 в TABLE2, вызывая, когда количество строк в table1 достигает 500.
FIX .....
Определение количества функций:
CREATE OR REPLACE FUNCTION count_function() RETURNS integer AS $$
BEGIN
RETURN (SELECT COUNT(*) FROM table1);
END $$ LANGUAGE plpgsql;
Вызов переменной, чтобы вызвать событие:
CREATE OR REPLACE FUNCTION save_table2()
RETURNS trigger AS
$$
BEGIN
IF count_function()>=500 THEN
INSERT INTO table2
values ('NEW.column1','NEW.column2');
END IF;
RETURN NEW;
END $$
LANGUAGE plpgsql;
CREATE TRIGGER copy_trigger
AFTER INSERT ON table1
FOR EACH ROW
EXECUTE PROCEDURE save_table2();
Вашей функция возвращает целое число, а не таблицы. Непонятно, что именно вы хотите сделать, но скалярная функция будет вызываться как 'select count_function()'. –
Помимо всего прочего, вам нужно добавить «RETURN Cnt;» перед заявлением END ... – mlinth
Я хотел бы определить значение count как переменную (целое число). Я хочу использовать это значение для запуска события - когда count = 500. Поэтому я хочу вернуть целочисленное значение. –