Перенос данных из таблицы в таблицу. SQL
Если поля совпадают:
INSERT INTO <table_1> SELECT * FROM <table_2>
Если поля не совпадают:
INSERT INTO <table_1> (field1, field2, ..., fieldN) SELECT field1, field2, ..., fieldN FROM <table_2>
Дополнение:
Как оказалось, в некоторых случаях (при выполнении очистки таблиц из БД) перенос в table_2 происходит без ошибок. А после того как пытаешься вернуть данные из временной таблицы в исходную (table_1) происходит ошибка типа: несовместимые типы данных: ожидается DATE, получено NUMBER
Как оказалось, после пересоздания table_1 столбцы стоят в разной последовательности (не той, что была задана в запросе на создание). Поэтому в этом случае лучше использовать второй вариант, жестко указывая поля, из которых будут браться данные и в те, что будут вставляться.
В рамках очистки данных из таблиц (уменьшение размера БД) выполняются мероприятия:
Так вот, создание временной таблицы может выручить при удалении таблицы MSG. Можно сохранить актуальную информацию за последние месяцы.
В рамках очистки данных из таблиц (уменьшение размера БД) выполняются мероприятия:
Это все прекрасно, до того момента как попадается тип поля в таблице TimeStamp
ОтветитьУдалить