Как заставить ограничения работать в Snowflake?

#snowflake-cloud-data-platform

#snowflake-cloud-data-platform

Вопрос:

Есть ли способ, чтобы ограничения действительно работали в Snowflake?

Создается первичный ключ. Тем не менее, дубликаты могут быть вставлены в таблицу. Предоставление таких параметров, как каскадное обновление и каскадное удаление, не работает с внешним ключом

Может кто-нибудь, пожалуйста, помочь?

Ответ №1:

если вы прочитаете документацию Snowflake, вы увидите, что применяются только ограничения NOT NULL, все остальные типы ограничений являются только информационными.

Я предполагаю, что причина этого заключается в том, что Snowflake является аналитической, а не OLTP, базой данных, и поэтому ожидается, что ограничения применяются в ваших процессах ELT (как это обычно практикуется), а не в БД.

Комментарии:

1. В таком случае, как насчет реализации каскадного обновления и удаления?

2. Опять же, вы выполняете это явно в своих подпрограммах ELT

Ответ №2:

Snowflake не применяет ограничения, за исключением not null . Примечания к Snowflake . Я думаю, что мы не можем применить ограничение в базе данных snowflake, но вы можете применить ограничение в своем инструменте ETL (если используете)