Я сначала узнал бы, обеспечивает ли рассматриваемый сайт (сайты) сервер API или Каналы RSS для доступа данные, Вы требуете.
Вы никогда не должны этого делать. Select * не следует использовать в качестве основы для вставки, поскольку столбцы могут перемещаться и сломать вашу вставку (или, что еще хуже, не сломать вставку, но испортить ваши данные. Предположим, кто-то добавляет столбец в таблицу в select, но не в другую таблицу, ваш код сломается. Или предположим, что кто-то по причинам, которые выходят за рамки понимания, но часто случаются, решает выполнить отбрасывание и воссоздать в таблице и переместить столбцы в другом порядке. Теперь ваше last_name - это место, где было first_name in первоначально и select * поместит его в неправильный столбец в другой таблице. Чрезвычайно плохая практика не указывать столбцы и конкретное сопоставление одного столбца с нужным столбцом в интересующей вас таблице. ] Прямо сейчас у вас может быть несколько проблем, сначала две структуры не совпадают напрямую, или, во-вторых, таблица, в которую вставляется, имеет столбец идентификатора, и поэтому, даже если вставляемые столбцы являются прямым совпадением, таблица, в которую вставляется, имеет на один столбец больше, чем другой, и без указания базы данных предполагает, что вы попытаетесь вставить в этот столбец. Или у вас может быть такое же количество столбцов, но один является идентификатором и поэтому не может быть вставлен (хотя я думаю, что это будет другое сообщение об ошибке).
У вас должно быть как минимум одинаковое количество столбцов, и каждый столбец должен быть определен точно так же, то есть столбец varchar не может быть вставлен в столбец int.
Для массовой передачи проверьте документацию по используемой вами реализации SQL. Часто доступны инструменты для массовой передачи данных из одной таблицы в другую. Для SqlServer 2005, например, вы можете использовать мастер импорта и экспорта SQL Server. Щелкните правой кнопкой мыши базу данных, в которую вы пытаетесь переместить данные, и нажмите «Экспорт», чтобы получить к ней доступ.
SQL 2008 позволяет отказаться от указания имен столбцов в вашем SELECT, если вы используете SELECT INTO вместо INSERT INTO / SELECT:
SELECT *
INTO Foo
FROM Bar
WHERE x=y
Предложение INTO
действительно существует в SQL Server 2000-2005, но по-прежнему требует указания имен столбцов. Похоже, что в 2008 добавлена возможность использования SELECT *.
Подробнее см. В статьях MSDN по INTO ( SQL2005 ), ( SQL2008 ).
Предложение INTO работает только однако, если целевая таблица еще не существует. Если вы хотите добавить записи в существующую таблицу, это не поможет.