Создал новую таблицу в SQL Server Express под управлением Windows 8.1, затем попытался вставить запись и получил ошибку - PullRequest
0 голосов
/ 15 мая 2018
CREATE TABLE Promotions 
(
     CSCFileNumberId INTEGER IDENTITY PRIMARY KEY,
     SurName VARCHAR(30), 
     DateofFirstAppointment INTEGER, 
     InterviewScore INTEGER
);

INSERT INTO Promotions (CSCFileNumberId, SurName, DateofFirstAppointment, InterviewScore)
VALUES (1, Omereji, 098761, 45)

Ошибка:

Сообщение 207, Уровень 16, Состояние 1, Строка 5
Неверное имя столбца 'Omereji'.

Сообщение 207, Уровень 16, Состояние 1, Строка 5
Неверное имя столбца 'SurName'.

1 Ответ

0 голосов
/ 15 мая 2018

Вам нужно обернуть литералы с ' и использовать IDENTITY_INSERT:

CREATE TABLE Promotions (CSCFileNumberId INTEGER IDENTITY PRIMARY KEY,
    SurName VARCHAR(30), DateofFirstAppointment INTEGER, InterviewScore INTEGER);

SET  IDENTITY_INSERT Promotions ON;

INSERT INTO Promotions (CSCFileNumberId, SurName,
                        DateofFirstAppointment, InterviewScore) 
VALUES (1, 'Omereji', 098761, 45);
                      -- leading 0 will be lost with INT datatype

SET  IDENTITY_INSERT Promotions OFF;

SELECT *
FROM Promotions;

Демоверсия DBFiddle

...