Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Слияние двух одинаковых таблиц!  [new]
Nuriddin
Member

Откуда: Узбекистан
Сообщений: 10
Добрый вечер. Уважаемые гуру прошу помощи в слиянии двух одинаковых таблиц. Точнее эти две таблицы - это одна и та же таблица. Только за разные периоды. Сейчас есть необходимость слить их, причем во второй таблице нумерация ID начинается с 1 (после очистки). Прошу помощи в совете как сделать слияние так что бы при это записи сливались с соблюдением нарастающего ID?.
Таблица один заканчивается номером id 80000, таблица два начинается с id 0001. При слиянии сделать так что бы id 0001 добавлялся как 80001 и так далее!
19 фев 21, 15:22    [22283539]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3971
Nuriddin
Добрый вечер. Уважаемые гуру прошу помощи в слиянии двух одинаковых таблиц. Точнее эти две таблицы - это одна и та же таблица. Только за разные периоды. Сейчас есть необходимость слить их, причем во второй таблице нумерация ID начинается с 1 (после очистки). Прошу помощи в совете как сделать слияние так что бы при это записи сливались с соблюдением нарастающего ID?.
Таблица один заканчивается номером id 80000, таблица два начинается с id 0001. При слиянии сделать так что бы id 0001 добавлялся как 80001 и так далее!


Перед литьём сделать
SET IDENTITY INSERT ON

и вперёд ткскыть, с нужными идами
19 фев 21, 15:25    [22283544]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
aleks222
Member

Откуда:
Сообщений: 1237
Ролг Хупин

Перед литьём сделать
SET IDENTITY INSERT ON


Зачем? Шобы жизнь медом не казалась?

ЗЫ. Просто вставить - id нагенерится сам собой.
19 фев 21, 16:01    [22283562]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3971
aleks222
Ролг Хупин

Перед литьём сделать
SET IDENTITY INSERT ON


Зачем? Шобы жизнь медом не казалась?

ЗЫ. Просто вставить - id нагенерится сам собой.


я дал универсальный совет
19 фев 21, 16:09    [22283570]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Nuriddin
Member

Откуда: Узбекистан
Сообщений: 10
Не ругайте сильно. Я в sql нуб тот ещё.
SET IDENTITY INSERT ON
select * from gkArcade.gk.GK_TRANSACTS
union all
select * from gkArcade1.gk.GK_TRANSACTS
Что тут не так?
меня терзают смутные сомнения что вместо * что то должно стоять!!!
19 фев 21, 16:22    [22283580]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3971
Nuriddin
Не ругайте сильно. Я в sql нуб тот ещё.
SET IDENTITY INSERT ON
select * from gkArcade.gk.GK_TRANSACTS
union all
select * from gkArcade1.gk.GK_TRANSACTS
Что тут не так?
меня терзают смутные сомнения что вместо * что то должно стоять!!!


1. Вот то "что-то" должно стоять всегда тккть
2. Не слушайт мои вредные советы, не используйте
SET IDENTITY INSERT ON
3. ну, вот, отпишитесь про результаты
19 фев 21, 19:40    [22283738]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Nuriddin
Member

Откуда: Узбекистан
Сообщений: 10
SET IDENTITY_INSERT ID ON
select * from gkArcade.gk.GK_TRANSACTS
union
select * from gkArcade_old.gk.GK_TRANSACTS
Вот запрос. Но ругается sql не хочет сливать.
- До выполнения (Ошибка)
Сообщения
Ошибка 0xc0202009: Задача потока данных 1: Код ошибки служб SSIS: DTS_E_OLEDBERROR. Возникла ошибка OLE DB. Код ошибки: 0x80040E37.
Доступна запись OLE DB. Источник: "Microsoft SQL Server Native Client 11.0" Результат: 0x80040E37 Описание: "Не удалось найти объект "ID", так как он не существует, или отсутствуют разрешения.".
(Мастер импорта и экспорта SQL Server)

Ошибка 0xc004701a: Задача потока данных 1: Ошибка перед выполнением Источник - Запрос. Код ошибки 0x80040E37.
(Мастер импорта и экспорта SQL Server)

Данные 0x4004300b: Задача потока данных 1: Назначение - Запрос записал 0 строк.
(Мастер импорта и экспорта SQL Server)
Вот что пишет.
20 фев 21, 11:16    [22283977]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8322
Nuriddin,

причем здесь это "Код ошибки служб SSIS" и слияние таблиц? Используйте SQL запрос для вставки.
20 фев 21, 16:08    [22284141]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
aleks222
Member

Откуда:
Сообщений: 1237
Владислав Колосов
Nuriddin,

причем здесь это "Код ошибки служб SSIS" и слияние таблиц? Используйте SQL запрос для вставки.

Судя по контексту, страдалец не хочет вставлять, он хочет только выборку с "подставленными" ID

declare @maxID int = (select max(id) from gkArcade.gk.GK_TRANSACTS);

select id            , * from gkArcade.gk.GK_TRANSACTS
union ALL
select id+@maxID as id,* from gkArcade_old.gk.GK_TRANSACTS


Сообщение было отредактировано: 20 фев 21, 16:06
20 фев 21, 16:12    [22284144]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Nuriddin
Member

Откуда: Узбекистан
Сообщений: 10
Подробности поставленной задачи!
Имеется база данных (db_old) с таблицей транзакции (table) за прошлые годы. С 2016 года до начала 2020 года. С 2020 года вся информация по транзакциям записывается в новую таблицу транзакции (table) в базу (db). Последовательность нумерации транзакции (table) в базы (db_old) начинается с 1 и заканчивается на N. Последовательность нумерации транзакции (table) в новой тоже (db) начинается с 1. Задача такая - надо перелить всю информацию по транзакциям с (table) базы (db) в таблицу (table) базы (db_old). При этом надо сделать так что бы новые записи добавлялись начиная с N+1 позиции.
Решение которую я нашел.
Пытался это все реализовать через sql скрипты. Но не получилось. (Ну sql не мой профиль). Я воспользовался мастером импорта и экспорта SQL server. Указав какую таблицу с какой базы куда надо перелить, далее при выборе какие данные должны быть перелиты я попросту отбросил передачу значении таблицы ID. Что в свою очередь при добавлении генерировала требуемую условия N+1.
Все данные с (table)(db) перелиты в (table)(db_old) с соблюдением последовательности ID.
Эту мануалку полностью прочел, частично помогло
Решение найдено, задача выполнена. Всем спасибо за помощь.
20 фев 21, 16:29    [22284156]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3971
Nuriddin
Подробности поставленной задачи!
Имеется база данных (db_old) с таблицей транзакции (table) за прошлые годы. С 2016 года до начала 2020 года. С 2020 года вся информация по транзакциям записывается в новую таблицу транзакции (table) в базу (db). Последовательность нумерации транзакции (table) в базы (db_old) начинается с 1 и заканчивается на N. Последовательность нумерации транзакции (table) в новой тоже (db) начинается с 1. Задача такая - надо перелить всю информацию по транзакциям с (table) базы (db) в таблицу (table) базы (db_old). При этом надо сделать так что бы новые записи добавлялись начиная с N+1 позиции.
Решение которую я нашел.
Пытался это все реализовать через sql скрипты. Но не получилось. (Ну sql не мой профиль). Я воспользовался мастером импорта и экспорта SQL server. Указав какую таблицу с какой базы куда надо перелить, далее при выборе какие данные должны быть перелиты я попросту отбросил передачу значении таблицы ID. Что в свою очередь при добавлении генерировала требуемую условия N+1.
Все данные с (table)(db) перелиты в (table)(db_old) с соблюдением последовательности ID.
Эту мануалку полностью прочел, частично помогло
Решение найдено, задача выполнена. Всем спасибо за помощь.


а, вы чисто развеччик?
20 фев 21, 21:59    [22284274]     Ответить | Цитировать Сообщить модератору
 Re: Слияние двух одинаковых таблиц!  [new]
Nuriddin
Member

Откуда: Узбекистан
Сообщений: 10
Ролг Хупин,

Не не не, была поставлена задача, искал помощи, решил как то по своему и выложил как решил задачку
21 фев 21, 08:53    [22284345]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить