Для операций ETL мы используем студию SAS DI, а затем, наконец, таблицы загружаются в Teradata. DDL динамически генерируется в SAS DI Studio для созданных таблиц. Но когда мы хотим настроить DDL для включения разделов, возникает ошибка. Может ли кто-нибудь предложить обходной путь? Примечание. Мы не можем сначала создать DDL в Teradata, а затем зарегистрировать таблицу в SAS DI Studio для ее использования.
В таблице свойства->Параметры->дополнительно напишите пользовательский SQL в опции создания таблицы, он отлично работает для UNIQUE PRIMARY INDEX(NOTI_DT)
Но когда мы пытаемся
UNIQUE PRIMARY INDEX(NOTI_DT)
PARTITION BY RANGE_N(NOTI__DT BETWEEN DATE'1950-01-01'AND DATE'2022-12-31' EACH INTERVAL '1' MONTH)
На данный момент у нас есть фильтр, применяемый для ограничения данных, чтобы понять, работает ли раздел. В противном случае у нас есть 3 миллиона плюс строки. Ошибка на этапе создания таблицы. Ошибка выглядит следующим образом: ОШИБКА 22-7: Недопустимое имя параметра 1950. - ОШИБКА: выполнение Teradata: объект «HC_PRD_D_RDDL_SDTB_0_1_0_0_0_0_0_0.AVG_SITE_VISIT» не существует.
В PARTITION BY есть опечатка: NOTI__DT
vs. NOTI_DT
@dnoeth извините за опечатку. Но в редакторе заданий это указано правильно и ошибка в соответствии с этим
Ошибка «недопустимое имя параметра», по-видимому, связана с наличием кавычек в строке параметра. Попробуйте удвоить кавычки:
UNIQUE PRIMARY INDEX(NOTI_ASSIGN_DT)
PARTITION BY RANGE_N(NOTI_ASSIGN_DT BETWEEN DATE''1950-01-01'' AND DATE''2022-12-31'' EACH INTERVAL ''1'' MONTH)
Какая ошибка? Между прочим, разбиение таблицы всего на несколько тысяч строк обычно совершенно бесполезно.