Я пытаюсь запустить сценарий отчета, который я собрал пару месяцев назад во второй раз (квартальный отчет). Я достиг точки в сценарии, когда мне требуется уникальный первичный индекс, особенно при попытке создать таблицу MEMBER_DATA_2
. Когда я пытаюсь запустить этот CREATE VOLATILE TABLE
, я получаю ошибку Teradata "[2801] Ошибка дублирования уникального первичного ключа в целевой таблице".
Обычно это не имеет большого значения. Сценарий требует, чтобы поля Member_ID
& Encounter_Nbr
были уникальными первичными ключами. Поэтому я скопировал CREATE
для MEMBER_DATA_2
, удалил требование UNIQUE
из первичного индекса и назвал результирующую изменчивую таблицу TEMP
. Я создал TEMP
Затем запустил следующий
SELECT T.*, B.Cnt
FROM TEMP AS T
JOIN (SELECT DISTINCT Member_ID, Encounter_Nbr, COUNT(*) AS Cnt FROM TEMP GROUP BY 1,2) AS B
ON B.Member_ID= T.Member_ID
AND B.Encounter_Nbr= T.Encounter_Nbr
AND B.Cnt > 1
ORDER BY B.Cnt DESC, T.Member_ID, T.Encounter_Nbr
Проблема в том, что приведенный выше скрипт дал нулевой набор результатов. Поэтому, если я что-то упустил, индекс является уникальным, и MEMBER_DATA_2
должен быть создан без получения сообщения об ошибке.
На данный момент я могу просто отбросить UNIQUE
из MEMBER_DATA_2
CREATE
для этого прогона, так как я знаю, что ошибка bosu, но я хочу убедиться, что я не получаю фиктивную ошибку на будущих пробегах.