У меня полностью определены две таблицы: t2 и t1.
t2 имеет 1000 строк, а t1 полностью пуст.t1
Я буду использовать «emptyTable» и «populatedTable», потому что вопросы сбивают с толку
Важно TOP без ORDER BY дает 500 произвольных строк.Подразумеваемый или естественный порядок для таблицы никогда не существует
TOP
INSERT INTO emptyTable SELECT TOP 500 * FROM populatedTable ORDER BY What -- need this to define TOP 500
Отсутствие списка столбцов здесь обычно определяется как плохая практика, но работает, только если
Редактировать:
ORDER BY равен требуется для гарантии порядка строк.Смотрите это.Это также в стандарте ANSI
Примерно так:
INSERT INTO t1 SELECT TOP 500 * FROM t2
Вы выбираете 500 лучших и вставляете их.
insert t2(fieldslist) select top 500 fieldslist from t1
Если обе таблицы имеют одинаковую схему, это просто: