У меня есть 2 таблицы в Postgresql с одинаковой схемой, единственное отличие состоит в том, что в одном из полей идентификатора таблицы есть тип bigint. Схема таблицы, которую мне нужно заполнить данными, выглядит следующим образом:
create table test_int_table(
id int,
description text,
hash_code int
);
Мне нужно скопировать данные из test_table с идентификатором bigint в publi c .test_int_table. И некоторые из значений, которые превышают диапазон id, должны быть отфильтрованы. Как я могу отслеживать эти значения без жесткого кодирования диапазона? Я могу сделать что-то вроде этого, но я хотел бы создать более общее решение c:
insert into test_int_table
select * from test_table as test
where test.id not between 2147483647 and 9223372036854775808
Под generi c Я имею в виду без ограничений имена столбцов и их количество. Так что в случае, если у меня есть несколько столбцов типа bigint в других таблицах, как я могу отфильтровать все значения их столбцов в общем (без указания имени столбца)?