Попытка сделать INSERT INTO в SQL - PullRequest
0 голосов
/ 28 ноября 2018

Итак, я создал следующую таблицу:

CREATE TABLE TABLE1
(
    CATEGORY varchar(255),
    CODE int
)

И я пытаюсь запустить следующий код:

INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ("xxxxx",1)

Но я получаю следующую ошибку:

«Столбец xxxxx не найден в TABLE1»

Насколько я знаю, я следую формату corect.Я пишу код в Teradat SQL Assistant, если это что-то меняет

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Возможно, вам нужно использовать одинарные кавычки вокруг строковых литералов:

INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES
    ('xxxxx', 1);

На основании сообщения об ошибке Teradata интерпретирует двойные кавычки как имя / псевдоним столбца.

Об этом есть Сообщение сообщества Teradata об этом:

Одиночные кавычки являются разделителями строк.Двойные кавычки используются для идентификаторов, таких как имена столбцов и таблиц.Но в Teradata идентификаторы в двойных кавычках не чувствительны к регистру (это отклонение от стандартного SQL)

0 голосов
/ 28 ноября 2018

Использование:

INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ('xxxxx', 1)
0 голосов
/ 28 ноября 2018

Почему бы просто не использовать оператор SELECT?

INSERT INTO TABLE1 ( CATEGORY, CODE )
     SELECT 'xxxxx', 1
...