Я пытаюсь настроить временные таблицы для целей юнит-тестирования. До сих пор мне удалось создать временную таблицу, которая копирует структуру существующей таблицы:
CREATE TEMP TABLE t_mytable (LIKE mytable INCLUDING DEFAULTS);
Но для этого не хватает данных из исходной таблицы. Я могу скопировать данные во временную таблицу, используя вместо этого оператор CREATE TABLE AS
:
CREATE TEMP TABLE t_mytable AS SELECT * FROM mytable;
Но тогда структура t_mytable
не будет идентичной, например, размеры столбцов и значения по умолчанию будут разными. Есть ли одно утверждение, которое копирует все?
Другая проблема с первым запросом, использующим LIKE
заключается в том, что ключевой столбец все еще ссылается на SEQUENCE
исходной таблицы и, таким образом, увеличивает его при вставке. Есть ли простой способ создать новую таблицу с собственной последовательностью, или мне нужно будет установить новую последовательность вручную?