Доброго утра,SQL триггера, чтобы избежать дубликатов с несколькими идентификаторами
Я нашел решение моей проблемы, но я думал, что я разделю его так или иначе, как это могло бы быть полезным для будущих проектов/задач. У меня есть простая таблица SQL, ниже которой будет внешний ключ моей гораздо более крупной таблицы рыночных данных о ценах на акции.
CREATE TABLE [StockMarket]
(
[ID] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
[ReutersRIC] VARCHAR(50),
[BloombergTicker] VARCHAR(50),
[YahooSymbol] VARCHAR(50)
/* other irrelevant columns here*/
)
Имея это в виду, я пытаюсь добавить устойчивость к структуре, как я буду добавлять из различных источников данных. Для каждого базового временного ряда на финансовых рынках существует несколько имен в зависимости от того, какой поставщик данных вы используете. Я хотел избегать нескольких строк с разными источниками данных, представляющими одни и те же временные ряды. Мне нужен триггер, который:
1) Если вставленные значения еще не указаны в таблице, они просто вставлены.
2) если я вставляю строку, для которой уже существует хотя бы один [ReutersRIC], [BloombergTicker], [YahooSymbol], [ISIN], я обновляю эту конкретную строку.
2.1) Обновление должно происходить только на ненулевых блюдах
Мой вопроса было, как это может быть достигнуто наилучшим образом? Мне потребовалось некоторое время, но я хотел бы рассказать об этом ниже для дальнейшего использования.