Работайте с машиной, а не против нее.
INSERT ... IGNORE - это очень специфический и не интуитивно понятный тип предложения, поэтому его поддерживают лишь немногие базы данных.
Команда MERGEвстречается гораздо чаще, и вы можете просто пропустить предложение WHEN MATCHED THEN UPDATE, например, так:
MERGE /*+DIRECT*/
INTO d_teas_scd t
USING d_teas_stg s
ON s.tea_key = t.tea_key
WHEN NOT matched THEN INSERT (
tea_key
, tea_id
, tea_eff_dt
, tea_end_dt
, tea_name
, tea_price
) VALUES (
s.tea_key
, s.tea_id
, s.tea_eff_dt
, s.tea_end_dt
, s.tea_name
, s.tea_price
);
А если вы хотите использовать функции OLAP - тогда попробуйте аналитическое предложение LIMIT, которое, я думаю,, уникальный для Vertica, и звучит так:
SELECT
*
FROM d_teas_scd
LIMIT 1 OVER(PARTITION BY tea_id ORDER BY tea_eff_dt DESC)
;
Довольно эффективно ...
Удачи -