Какой лучший способ создать уникальный повторяемый идентификационный столбец со строками, которые почти идентичны? - PullRequest
0 голосов
/ 15 мая 2019

Я пишу хранимую процедуру, которая связывает воедино данные из нескольких различных реляционных таблиц на основе первичного ключа основной таблицы.Эта информация отправляется в единую базу данных.Хранимая процедура создаст несколько почти идентичных строк, в которых только один столбец может отличаться из-за нескольких записей в некоторых таблицах, которые связаны с одной записью в основной таблице.Мне нужно однозначно идентифицировать каждую строку в выводе хранимой процедуры, но я не могу использовать первичный ключ из основной таблицы, поскольку для каждого «ключа» будет несколько записей.

Я рассмотрел вариант использования первичного ключа из основной таблицы, за которым следуют каждый из столбцов, которые могут отличаться в повторяющихся строках.Например, _

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

1 Ответ

0 голосов
/ 15 мая 2019

Если ваша цель состоит в том, чтобы иметь уникальный ключ, который был бы максимально коротким и не связан с чем-либо еще, рассмотрите возможность добавления ROW_NUMBER () к вашему выбору.

SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)), othercolumns
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...