Я работаю с временной таблицей в Netezza, которая содержит столбцы id
, gender
, start_date
и end_date
. Я пытаюсь добавить в эту таблицу новый столбец, который содержит дату по умолчанию 2019-01-01
для всех строк. Таблица, в которую я хочу добавить этот столбец, является локальной временной таблицей, поэтому ALTER TABLE не работает («Ошибка: операция не разрешена для временной таблицы»). Чтобы обойти это, я создал новую временную таблицу с пустым столбцом с соответствующим именем, но теперь я обнаружил, что не могу использовать UPDATE / SET, чтобы заполнить ее датой («Ошибка: слишком большое значение для столбца»). Каков наилучший способ изменить мою временную таблицу, чтобы включить в нее новый столбец с моей датой? Если возможно, я бы хотел просто напрямую изменить старую временную таблицу, а не создавать новую. Примечание: у меня нет необходимых прав администратора в базе данных, в которой я работаю, чтобы просто создать постоянную таблицу для ALTER.
Код, который успешно создал новую временную таблицу с пустым столбцом:
DROP TABLE new_temp_table IF EXISTS;
GO
SELECT id, gender, start_date, end_date, NULL default_date
INTO TEMP TABLE new_temp_table
FROM old_temp_table;
GO
Код, который не работает для замены значений NULL в новом столбце:
UPDATE new_temp_table
SET default_date = '2019-01-01';
GO