У меня есть таблица с тремя разными разделами, разделенная на столбе point_of_sale
. Я построил вид (massive_table
) агрегировать данные из этих разделов, как так:Могу ли я обрезать таблицы динамически?
CREATE VIEW massive_table as
SELECT * FROM massive_table_UK
UNION ALL
SELECT * FROM massive_table_US
UNION ALL
SELECT * FROM massive_table_DE;
The massive_table_UK/US/DE
таблиц каждая из которых имеет проверочное ограничение наложенное на них так, что point_of_sale
столбец может содержать только значение строки либо UK
, US
или DE
в зависимости от ситуации.
Перед секционирования, я бы подготовить таблицу новых данных, выполнив следующие действия:
DELETE FROM massive_table WHERE point_of_sale = 'UK';
То, что я предпочел бы, однако, укоротить соответствующий раздел. Можно ли это сделать динамически? Я посмотрел на PostgreSQL PL/pgSQL documentation и он говорит, что
Еще одно ограничение на символы параметров является то, что они работают только в SELECT, INSERT, UPDATE и DELETE команды. В других типах операторов (обычно называемых заявлениями утилиты) вы должны вставлять значения текстовым образом, даже если они являются только значениями данных.
Я довольно новичок в программировании PostgreSQL, и я изо всех сил пытаюсь понять это предложение; То, что я хотел бы иметь, - это функция, которая усекает соответствующий раздел на основе заданного значения point_of_sale
. Это возможно?