Использование ограничения ПРОВЕРКИ в таблицах с красным смещением

#sql #amazon-redshift #check-constraints

#sql #amazon-redshift #проверка-ограничения

Вопрос:

У меня есть redshift таблица с идентификатором столбца, который имеет bigint тип данных. Я хочу добавить ограничение, чтобы проверить, является ли вставленное значение положительным, и не выполнить вставку, если оно отрицательное

 CREATE TABLE IF NOT EXISTS public.new_table
(
    id BIGINT NOT NULL  ENCODE az64
    , CONSTRAINT CHK check ( id > 0 )
)
  

Когда я запустил запрос, я получаю сообщение об ошибке

Недопустимая операция Amazon: ограничение ПРОВЕРКИ СОЗДАНИЯ ТАБЛИЦЫ не поддерживается; [Состояние SQL = 0A000, код ошибки DB = 500310]

Есть решение для этой проблемы?

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

1. Какую часть ошибки вы не понимаете? Redshift не поддерживает ограничения проверки.

2. Redshift не накладывает никаких ограничений, если у вас есть жесткие требования, выполните очистку данных как часть вашего ETL скрипта. docs.aws.amazon.com/redshift/latest/dg /…