#sql #teradata
#sql #teradata
Вопрос:
Всякий раз, когда я пытаюсь выполнить, я получаю ошибку 3707, которая сообщает мне, что ожидается что-то вроде имени или идентификатора, разделенного Юникодом, между словом ‘I_SYS_CLM’ и ключевым словом integer. Я попытался удалить целое число после I_SYS_CLM, и это не помогло
СОЗДАЙТЕ ИЗМЕНЯЕМУЮ ТАБЛИЦУ ep_three, ЖУРНАЛА НЕТ
( I_SYS_CLM integer
, N_COV VARCHAR(10)
, Q_DAY_DBY integer
, Q_DAY_PRC_ELM integer
, Q_DAY_BFT integer)
ON COMMIT PRESERVE ROWS;
INSERT INTO ep_three
SELECT
I_SYS_CLM integer
, N_COV
, Q_DAY_DBY
, Q_DAY_PRC_ELM
, Q_DAY_BFT
FROM pearl_p.TLTC921_SMY
SELECT
I_SYS_CLM
, N_COV
, Q_DAY_DBY
, Q_DAY_PRC_ELM
, Q_DAY_BFT
FROM pearl_p.TLTC921_SMY
Комментарии:
1.
SELECT I_SYS_CLM integer
просто удалитеinteger
после имени столбца вSELECT
. Также вы не указали ошибку.2. спасибо за помощь. К сожалению, удаление этого не сработало. Ошибка была 3707, ожидающей чего-то вроде имени или идентификатора, разделенного Юникодом, между словом ‘I_SYS_CLM’ и ключевым словом integer.
Ответ №1:
Две проблемы:
- У вас в инструкции select висит ключевое слово
integer
, что является бессмыслицей. Запустите часть SELECT самостоятельно и исправьте ошибки, чтобы решить это в будущем. - У вас дважды указан один и тот же оператор SELECT, что не имеет никакого смысла.
Вместо этого просто:
CREATE VOLATILE TABLE ep_three
,NO LOG (
I_SYS_CLM INTEGER
,N_COV VARCHAR(10)
,Q_DAY_DBY INTEGER
,Q_DAY_PRC_ELM INTEGER
,Q_DAY_BFT INTEGER
) ON
COMMIT PRESERVE ROWS;
INSERT INTO ep_three
SELECT I_SYS_CLM
,N_COV
,Q_DAY_DBY
,Q_DAY_PRC_ELM
,Q_DAY_BFT
FROM pearl_p.TLTC921_SMY;