У меня есть SQL Server 2008
SQL Server Management Studio.
Мне нужно выбрать данные из Table1
database1. Затем мне нужно отредактировать некоторые значения в результатах и insert values into Table1
в базе данных2.
Или позвольте мне выразиться по-другому.
Как преобразовать данные из одной таблицы в формат insert script
.
sql
sql-server
sql-server-2008
ssms
Капитан Комикс
источник
источник
Ответы:
SSMS Toolpack (который БЕСПЛАТНЫЙ, как в пиве) имеет множество замечательных функций, включая создание операторов INSERT из таблиц.
Обновление: для SQL Server Management Studio 2012 (и новее) SSMS Toolpack больше не является бесплатным, но требует умеренной лицензионной платы.
источник
Вот еще один метод, который в некоторых ситуациях может быть проще, чем установка плагинов или внешних инструментов:
select [whatever you need]
INTO temp.table_name
from [... etc ...]
temp.table_name
на экране «Выбрать объекты», нажмите «Далее».INSERT
операторы появятся в новом окне запроса.[temp.table_name]
на[your_table_name]
.drop table [temp.table_name]
.источник
temp
здесь относится к любой схеме, к которой у вас есть доступ. Вы можете либо создать его (create schema temp
), а затем удалить его, когда закончите, либо (лучше) просто использовать любую схему, с которой вы сейчас работаете.В SSMS:
Щелкните правой кнопкой мыши базу данных> Задачи> Создать сценарии
следующий
Выберите «Выбрать определенные объекты базы данных» и отметьте таблицу, для которой требуется создать сценарий, Далее
Щелкните
Advanced >
список параметров, прокрутите вниз и найдите «Типы данных для сценария» и измените его на «Только данные»> ОК.Выберите «Сохранить в новом окне запроса»> Далее> Далее> Готово.
Все 180 строк теперь записаны как 180 операторов вставки!
источник
Собственный метод :
например, если у вас есть таблица
Ты можешь сделать это:
источник
1- Объяснение скриптов
A) Синтаксис для вставки данных в таблицу приведен ниже.
C) Чтобы получить указанные выше данные из существующей таблицы, мы должны написать запрос выбора таким образом, чтобы результат был в форме, как указано выше.
D) Затем, наконец, я объединил указанную выше переменную для создания окончательного скрипта, который будет генерировать скрипт вставки при выполнении
E)
F) И, наконец, выполнил вышеуказанный запрос
EXECUTE(TEXT)
G)
QUOTENAME()
функция используется для обертывания данных столбца внутри цитатыH)
ISNULL
используется, потому что если в какой-либо строке естьNULL
данные для любого столбца, запрос не выполняется и возвращает,NULL
поэтому, чтобы избежать этого, я использовалISNULL
I) И создал СП
sp_generate_insertscripts
для того же1- Просто введите имя таблицы, для которой вы хотите
insert script
2- Условие фильтрации, если вы хотите получить конкретные результаты
источник
Это можно сделать через Visual Studio SQL Server Object Explorer.
Вы можете нажать «Просмотреть данные» из контекстного меню для нужной таблицы, отфильтровать результаты и сохранить результат как сценарий.
источник
Используя Visual Studio, сделайте следующее
Создайте проект типа SQL Server -> SQL Server Database Project
откройте проводник sql server CTL- \, CTL-S
добавьте SQL Server, щелкнув правой кнопкой мыши значок SQL SERVER. Selcet ДОБАВИТЬ НОВЫЙ СЕРВЕР
перейдите к интересующей вас таблице
щелкните правой кнопкой мыши -> ПРОСМОТР ДАННЫХ
Щелкните верхнюю левую ячейку, чтобы выделить все (ctl-A, похоже, не работает)
Щелкните правой кнопкой мыши -> Сценарий
Это потрясающе. Я перепробовал все перечисленное выше за многие годы. Я знаю, что есть инструмент, который сделает это и многое другое, не могу вспомнить его название. Но это очень дорого.
Удачи. Я только что понял это. Не тестировал его широко с текстовыми полями и т. Д., Но похоже, что он поможет вам в будущем.
Грег
источник
Создайте отдельную таблицу с помощью оператора into Например
Выберите * в Test_123 из [dbo]. [Сотрудник] где Имя, например "% Test%"
Перейдите в базу данных. Щелкните правой кнопкой мыши базу данных. Щелкните "Создать сценарий". Выберите свою таблицу. Выберите расширенную опцию и выберите атрибут "Только данные". Выберите файл "Открыть в новом запросе".
Sql сгенерирует для вас скрипт
источник
Вы можете выбрать опцию «Результат в файл» в SSMS и экспортировать выбранный результат в файл и внести изменения в файл результатов и, наконец, с помощью BCP - Массовая копия, которую вы можете вставить в таблицу 1 в базе данных 2.
Я думаю, что для массовой вставки вам нужно преобразовать файл .rpt в файл .csv
Надеюсь, это поможет.
источник
У меня была аналогичная проблема, но мне нужно было создать оператор INSERT из запроса (с фильтрами и т. Д.)
Итак, я создал следующую процедуру:
Затем вы можете использовать его, записав вывод вашего запроса во временную таблицу и запустив процедуру:
Примечание. Эта процедура приводит только значения к строке, из-за чего данные могут выглядеть немного иначе. Например, с DATETIME секунды будут потеряны.
источник
Это более универсальное решение (которое может сделать немного больше, чем требует вопрос), и его можно использовать в окне запроса без необходимости создавать новую хранимую процедуру - полезно в производственных базах данных, например, когда у вас нет доступа на запись .
Чтобы использовать код, измените его в соответствии с комментариями в строке, объясняющими его использование. Затем вы можете просто запустить этот запрос в окне запроса, и он напечатает требуемые операторы INSERT.
источник
Вы можете использовать пакеты обновления Sql Server Integration, специально разработанные для операций импорта и экспорта .
VS имеет пакет для разработки этих пакетов, если вы полностью установили Sql Server.
Службы интеграции в Business Intelligence Development Studio
источник
Я думаю, что это также возможно с помощью специальных запросов, вы можете экспортировать результат в файл Excel, а затем импортировать этот файл в свой объект данных или использовать его как есть, а затем импортировать файл Excel во вторую базу данных, посмотрите эту ссылку, это может помочь вам много.
http://vscontrols.blogspot.com/2010/09/import-and-export-excel-to-sql-server.html
источник
Я создал следующее
procedure
:Тогда вы можете использовать это так:
Результат будет примерно таким:
Если вы просто хотите получить диапазон строк, используйте
@top
параметр, как показано ниже:источник
Если вы используете Oracle (или настраиваете приложение для SQL Server), Oracle SQL Developer сделает это за вас. выберите «выгрузить» для таблицы и проследите за параметрами (снимите отметку DDL, если вы не хотите, чтобы вся таблица создавала материал).
источник
Я нашел это дополнение SMSMS Boost , которое, помимо прочего, является бесплатным и делает именно это. Вы можете щелкнуть правой кнопкой мыши по результатам и выбрать Script data as.
источник
Вы можете использовать этот Q2C.SSMSPlugin , который является бесплатным и с открытым исходным кодом. Вы можете щелкнуть правой кнопкой мыши и выбрать «Выполнить запрос для команды ... -> Запрос для вставки ...». Наслаждаться)
источник
Вы можете использовать
INSERT INTO SELECT
оператор, чтобы вставить результаты запроса на выборку в таблицу. http://www.w3schools.com/sql/sql_insert_into_select.aspПример:
источник