Форум программистов, компьютерный форум, киберфорум
Наши страницы

Microsoft SQL Server

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 57, средняя оценка - 4.77
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
#1

Как заполнить новую таблицу данными... - SQL Server

20.12.2011, 12:48. Просмотров 7958. Ответов 10
Метки нет (Все метки)

Как заполнить новую таблицу данными, которые есть запрос к другой таблице средствами SQL?
Т.е., другими словами, как скопировать данные из запроса в новую таблицу средствами SQL?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 12:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как заполнить новую таблицу данными... (SQL Server):

Как запросом заполнить таблицу данными из других таблиц? - SQL Server
Доброго времени суток. Попал билет по базам данным. В нем задание 3 таблицы и суть задание заполнить третью таблицу данными из 2-х других...

Как в процедуре создать таблицу и заполнить ее данными из других таблиц, по определенному условию - SQL Server
Подскажите пожалуйста, я новичок в SQL, и не совсем понимаю, как можно создать такую процедуру, в которой будет создаваться таблица, и ...

Как скопировать таблицу с данными и структурой, но без триггеров - SQL Server
Есть таблица. Каким запросом ее можно полностью скопировать с данными и структурой, но без триггеров?

Как заполнить таблицу - SQL Server
Не могу заполнить таблицу в ms sql server 2008, т.к. просто не могу найти поле заполнения. В изменении таблицы редактирование полей,а не...

Как заполнить вторую таблицу из первой - SQL Server
Создаю две таблицы CREATE TABLE . ( INT IDENTITY (1, 1) NOT NULL, NVARCHAR (50) NOT NULL, ...

Заполнить NULL столбец данными - SQL Server
Есть таблица из ~100 записей,в которой есть столбец(дата рождения), где все значения=NULL. Как можно заполнить этот столбец датами? Чтобы...

10
bazile
65 / 41 / 20
Регистрация: 15.03.2007
Сообщений: 6,909
20.12.2011, 13:09 #2
INSERT INTO table1 (field1, field2, ..., fieldN) SELECT field1, field2, ..., fieldN FROM table2
0
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
20.12.2011, 15:21  [ТС] #3
спасибо, то, что надо.
0
karoziya
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 5
08.01.2012, 15:33 #4
Хочу сделать тоже самое, но при этом table2 это база dBase *.dbf, тоесть посредством SQL запроса конвертировать из DBase в SQL Сервер.
0
bazile
65 / 41 / 20
Регистрация: 15.03.2007
Сообщений: 6,909
08.01.2012, 15:43 #5
Надо использовать DTS (Data Transformation Services) - в Enterprise Manager есть соответствующий Wizard.

Или через Access извратиться. Создать в системе два DSN: первый указывает на dbf файл, второй на SQL сервер. Затем в Access создать таблицы из внешнего источника для каждого DSN. А затем выполнить запрос, который был приведен выше.
0
karoziya
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 5
09.01.2012, 07:54 #6
да нет на самом деле все проще, я сделал так:
T-SQL
1
2
3
4
5
6
7
insert into baza96
select * FROM     OPENROWSET(''MSDASQL'', 
                   ''Driver={Microsoft dBase Driver (*.dbf)};
                   SourceDB=\kamychevshare\baza96.dbf;
                   DefaultDir=\kamychevshare;
                   SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=No;'',
                   ''SELECT * FROM [baza96]'')
на локальном сервере работает, а на удаленном пишет:
Server: Msg 7415, Level 16, State 1, Line 1
Ad hoc access to OLE DB provider ''MSDASQL'' has been denied. You must access this provider through a linked server.

я так и не понял какой ему доступ нужен помогите пожалуйста, какую опцию включить надо, а то программы будут запускаться на клиентской машине и запрос соответственно не работает!
0
Silver
09.01.2012, 09:56 #7
Проще все-же через DTS.
Package пишется мастером за 10 секунд, а потом хочешь его запускай из командной строки, хочешь ставь в задания Job.
Выбираешь All Tasks/Import Data, а далее все понятно.
Указываешь источник, приемник. Только нужно будет галочку поставить
"Save DTS Package", после выполнения он появляется у тебя на сервере,
на котором ты выбрал сохранение пакета. Можно редактировать, запускать вручную
и т.п. Настоятельно рекомендую попробовать!
karoziya
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 5
09.01.2012, 11:46 #8
Цитата Сообщение от Silver
Проще все-же через DTS.
Package пишется мастером за 10 секунд, а потом хочешь его запускай из командной строки, хочешь ставь в задания Job.
Выбираешь All Tasks/Import Data, а далее все понятно.
Указываешь источник, приемник. Только нужно будет галочку поставить
"Save DTS Package", после выполнения он появляется у тебя на сервере,
на котором ты выбрал сохранение пакета. Можно редактировать, запускать вручную
и т.п. Настоятельно рекомендую попробовать!
а как запустить Package из программы, скажите пожалуйста? или ссылку дайте если не сложно, я программирую на дельфи!
0
Silver
09.01.2012, 12:56 #9
Для запуска Package из командной строки есть два пути:
1. Запустить DTSrun.exe и посмотреть параметры командной строки.
Только при указании не нужно ставить перед параметром ~ !!!
Это признак кодированных значений (обьясню ниже).
2. Щелкнуть правой кнопкой мыши на Package и выбрать Schedule с любым значением ( мы все равно его потом удалим), затем зайти в Jobs, найти появившуюся запись, открыть Steps на редактирование и там будет строка
типа:
Код
DTSRun /~Z0xA8A004CEF2617A53E98CB5B5A6ADA4A6EA3CFA7980BB34C87B369E6D09DD2630C81860216EFB095693C6DBEBE308B96EB8BD9C9FB7D9D02D1F23C3BB76B28E64750E31D24DE4D9BD5A625FD9EEC7DA2FBEE907A44EAB4AFA327957
Сие означает запуск DTSRun с эти страшным параметром, в котором закодирована вся информация для запуска. Потом из Jobs эту запись удаляем. Мавр сделал свое дело! )
Будут вопросы - пиши!
Silver
09.01.2012, 13:03 #10
Пример более понятный:
Windows Batch file
1
dtsrun /S Server_Name /U User_Name /P Password /N Package_Name
karoziya
0 / 0 / 0
Регистрация: 08.01.2012
Сообщений: 5
09.01.2012, 14:08 #11
спасибо все понял!
0
09.01.2012, 14:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2012, 14:08
Привет! Вот еще темы с ответами:

Sum в новую таблицу - SQL Server
добрый день. Имеется таблица вида 1 100 2 150 3 450 4 778 5 7889 6 888 и т.д.

Вставка в новую таблицу - SQL Server
Доброго времени суток. Есть вот такой код: Use SalesAnalyst INSERT INTO .dbo.MyOFF ( Contractor, OUTNUM, ORDNUM,

Вставка данных в новую таблицу - SQL Server
Добрый день! Когда-то было тестовым заданием для меня (сейчас решил доделать). ТЕКСТ ЗАДАЧИ: Имеется список женихов и список невест....

Создать SQL-запрос, добавляющий в таблицу новую запись - SQL Server
1.Создать SQL-запрос, добавляющий в таблицу, содержащую сведения о пассажирском транспорте, новую запись: Гос номер – ВВ148В,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru