Я пытаюсь вставить эти данные в SQL - PullRequest
1 голос
/ 25 июня 2010

Я пытаюсь создать правильные значения для таблиц, которые я создал. Это код:

INSERT DEPARTMENTS
(Department_Id,Department_Name,Manager_Id,Location_Id)
VALUES
('D0001,D0002,D0003','Think Tank,Creators,Marketers',NULL,'L0001,L0002,L0003')
GO
INSERT EMPLOYEES
(Employee_Id,First_Name,Last_Name,Email,PhoneNumber,Hire_Date,Manager_ID,Department_Id)
VALUES
('E0001,E0002,E0003,E0004,E0005,E0006,E0007','Joe,John,Sue,Tina,Ike,Big,Speedy','Blow,Doe,Happy,Turner,Turner,Bird,Gonzales',NULL,NULL,2010/06/25,2010/06/25,2010/06/25,2010/06/25,2010/06/25,2010/06/25,2010/06/25,NULL,NULL)
GO
INSERT LOCATIONS
(Location_ID,Postal_Code,City,State_Province,Country)
VALUES
('L0001,L0002','19121,08618','Philadelphia,Trenton','PA,NJ','USA,USA')

Это сообщение об ошибке: Сообщение 8152, уровень 16, состояние 14, строка 2 Строка или двоичные данные будут проигнорированы. Заявление было прекращено. Msg 110, уровень 15, состояние 1, строка 1 В операторе INSERT меньше столбцов, чем значений, указанных в предложении VALUES. Количество значений в предложении VALUES должно соответствовать количеству столбцов, указанному в операторе INSERT. Сообщение 8152, уровень 16, состояние 14, строка 1 Строка или двоичные данные будут проигнорированы. Заявление было прекращено.

Я хотел бы знать, что я делаю неправильно, и правильный код. Может кто-нибудь мне помочь? Спасибо

Ответы [ 2 ]

3 голосов
/ 25 июня 2010

INSERT EMPLOYEES имеет 8 столбцов и WAY более 8 значений в части VALUES оператора. Я не думаю, что вы понимаете, как работает SQL.

Как подсказка, это:

INSERT LOCATIONS
(Location_ID,Postal_Code,City,State_Province,Country)
VALUES
('L0001,L0002','19121,08618','Philadelphia,Trenton','PA,NJ','USA,USA')

должно выглядеть так:

INSERT LOCATIONS
(Location_ID,Postal_Code,City,State_Province,Country)
VALUES
('L0001','19121','Philadelphia','PA','USA');

INSERT LOCATIONS
(Location_ID,Postal_Code,City,State_Province,Country)
VALUES
('L0002','08618','Trenton','NJ','USA');

Вам нужен один оператор вставки для каждой вставляемой строки.

DEPARTMENTS и EMPLOYEES также неверны.

Также неправильно именовать таблицы в PLURAL, они должны быть в единственном числе. DEPARTMENT, EMPLOYEE, LOCATION, поскольку каждая строка представляет отдельную сущность.

2 голосов
/ 06 сентября 2012

Вы можете сделать несколько вставок, как это, хотя,

  INSERT INTO LOCATIONS
  (Location_ID,Postal_Code,City,State_Province,Country)
   VALUES
     ('L0001','19121','Philadelphia','PA','USA'),
     ('L0002','08618','Trenton','NJ','USA');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...