У меня есть база данных под названием foo и база данных под названием bar. У меня есть таблица в foo с именем tblFoobar, которую я хочу переместить (данные и все) на панель базы данных из базы данных foo. Что такое оператор SQL для этого?
sql
sql-server
copy
migrate
database-table
RyanKeeter
источник
источник
Задача «Импорт данных» в SQL Server Management Studio (щелкните правой кнопкой мыши имя базы данных, затем задачи) сделает большую часть этого за вас. Запустите его из базы данных, в которую вы хотите скопировать данные.
Если таблицы не существуют, они будут созданы для вас, но вам, вероятно, придется пересоздать любые индексы и тому подобное. Если таблицы существуют, они добавят новые данные по умолчанию, но вы можете настроить их (изменить сопоставления), чтобы удалить все существующие данные.
Я использую это все время, и это работает довольно хорошо.
источник
WHERE
условие с помощью задачи «Импорт данных»? Я не смог найти способ сделать это.identity
иforeign key
ссылки удаляются в целевой базе данных, любое решение?Это должно работать:
Он не будет копировать константы, значения по умолчанию или индексы. Созданная таблица не будет иметь кластеризованного индекса.
В качестве альтернативы вы можете:
Если ваша таблица назначения существует и пуста.
источник
INSERT INTO...
меня вторая версия ( ) работала в Oracle.Если это только одна таблица, то все, что вам нужно сделать, это
Вам нужно учитывать и другие обновления, такие как перенос других объектов в будущем. Обратите внимание, что ваши исходные и конечные таблицы не имеют одинакового имени. Это означает, что вам также придется вносить изменения, если вы зависите от таких объектов, как представления, хранимые процедуры и другие.
С одним или несколькими объектами вы можете обращаться вручную без каких-либо проблем. Однако, когда есть больше, чем просто несколько обновлений, очень полезны сторонние инструменты сравнения. Прямо сейчас я использую ApexSQL Diff для миграции схемы, но вы не ошибетесь с любым другим инструментом.
источник
Сценарий
create table
в студии управления, запустите этот сценарий в баре, чтобы создать таблицу. (Щелкните правой кнопкой мыши таблицу в проводнике объектов, таблица сценариев как, создать в ...)INSERT bar.[schema].table SELECT * FROM foo.[schema].table
источник
SET IDENTITY_INSERT TblName ON
в этом случае.Вы также можете использовать мастер создания сценариев SQL Server, чтобы помочь при создании сценариев SQL, которые могут выполнять следующие действия:
Хороший пример рабочего процесса для SQL Server 2008 со снимками экрана, показанными здесь .
источник
Вы можете пойти по этому пути: (общий пример)
Также, если вам нужно сгенерировать имена столбцов, чтобы вставить предложение вставки, используйте:
Скопируйте результат и вставьте его в окно запроса, чтобы представить имена столбцов таблицы, и даже это исключит также столбец идентификаторов:
Помните, что скрипт для копирования строк будет работать, если базы данных принадлежат одному и тому же местоположению.
Вы можете попробовать это.
Имя сервера необязательно, если обе базы данных находятся на одном сервере.
источник
Если таблица существует и мы хотим скопировать только данные, мы можем попробовать этот запрос.
вставить в Destination_Existing_Tbl выберите col1, col2 FROM Source_Tbl
источник
Копировать данные
источник