Объединение двух таблиц в SQL с новым Unique IDS

Я создаю объединение двух таблиц, каждая таблица имеет один и тот же уникальный первичный ключ (идентификатор модуля). Я хотел бы создать новый уникальный первичный ключ из столбца Module ID, так как в настоящее время он содержит дубликаты.

Как я могу сделать так, чтобы идентификатор модуля после объединения подсчитывался вверх от максимума первого идентификатора модуля? Короче говоря, как я могу сделать идентификатор модуля уникальным после объединения?

set identity_insert dpm.Module on

insert into dpm.Module
(
        dpm.Module.[Module ID],
        dpm.Module.[Module Xbrl Schema Ref]
)

select 
        dpm.Module.[Module ID],
        dpm.Module.[Module Xbrl Schema Ref]
from [DPM].[Module]
union
select
        dpm.Module.[Module ID],
        replace(dpm.Module.[Module Xbrl Schema Ref],'.xsd','_bbk.xsd') as [Module Xbrl Schema Ref]
from
[DPM].[Module]

Итак, какой у вас вопрос? Вы забыли спросить об одном! :)

Larnu 11.07.2018 11:39

Надеюсь, теперь стало понятнее;)

M. Doe 11.07.2018 12:10

Почему бы не использовать set identity_insert dpm.Module on, а затем исключить идентификатор из INSERT? Затем новая таблица создаст новый идентификатор для каждой строки. Кажется, вы пытаетесь изобрести велосипед.

Larnu 11.07.2018 12:15

Я пробовал это. Но я получаю эту ошибку: явное значение должно быть указано для столбца идентификатора в таблице «Модуль» либо когда для IDENTITY_INSERT установлено значение ON, либо когда пользователь репликации вставляет столбец идентификатора NOT FOR REPLICATION.

M. Doe 11.07.2018 12:19

Это сообщение об ошибке сообщает вам, что находятся использует set identity_insert dpm.Module on ... Вам нужно выключить его, если вы уже включили его.

Larnu 11.07.2018 12:22

Спасибо, что ответили на мой вопрос!

M. Doe 11.07.2018 16:50
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
6
87
0

Другие вопросы по теме