Сначала создайте таблицу с необходимыми ключами, ограничениями, проверкой домена, ссылками и т. Д. Затем используйте структуру INSERT INTO..SELECT
для ее заполнения.
Не поддавайтесь соблазну SELECT..INTO..FROM
конструкциями. Результирующая таблица не будет иметь ключей, поэтому фактически не будет таблицей вообще. Лучше начать с правильной таблицы, а затем добавить данные, например, будет легче ловить плохие данные.
В качестве примера того, как все может пойти не так с предложением SELECT..INTO
: это может привести к появлению столбца, содержащего значение NULL, и в то время как после события вы можете изменить столбец на NOT NULL, механизм не заменит NULLs
, поэтому вы получите столбец NOT NULL, содержащий NULL
s!
Также рассмотрите возможность создания «просматриваемой» таблицы, например, используя CREATE VIEW
SQL DDL вместо базовой таблицы.