Ошибка синтаксиса студии управления SQL Server 2008 - PullRequest
2 голосов
/ 15 ноября 2010

Я очень, очень плохо знаком с программированием. У меня самые тяжелые времена с, казалось бы, простым оператором вставки, который я использую для запуска запроса. Вот что именно я добавляю:

INSERT INTO [EMPLOYEE TABLE] 
  (list of column names surrounded by '' and separated by ,.)
VALUES 
  (list of data that I want in each column) 

Я не могу избавиться от жалоб на синтаксис в таблице сотрудников в скобках. Я пробовал несколько комбинаций. Я также пытаюсь получить свой первый столбец, чтобы сгенерировать автоматический номер. Когда пришло время что-то ввести в этот столбец, что я должен вставить туда? Должно ли оно быть пустым?

Ответы [ 4 ]

1 голос
/ 16 ноября 2010
  1. Убедитесь, что в раскрывающемся списке «Доступные базы данных» выбрана соответствующая база данных
  2. Укажите схему, в которой существует таблица - IE dbo

В противном случае укажите обозначение именования из трех частей:

INSERT INTO database_name.schema_name.table_name
  ...

IE:

INSERT INTO database_name.dbo.[EMPLOYEE TABLE] 
  (csv list of columns)
VALUES
  (csv list of values)

Имена столбцов не обязательно должны быть заключены в одинарные кавычки, но значения, основанные на строках, делают это. Я рекомендую не называть столбцы (или таблицы) пробелами, потому что они требуют использования жестких скобок.

1 голос
/ 16 ноября 2010

Я предполагаю, что подсветка синтаксиса выделяет неправильную часть вашего утверждения. Квадратные скобки вокруг названия таблицы в порядке. Вам не нужно, чтобы '' окружало имена ваших столбцов:

insert into [employee table] (firstName, lastName, isActive)
values ('Justin', 'Niessner', 1)
0 голосов
/ 16 ноября 2010

Для автоматической нумерации таблиц убедитесь, что для столбца назначено свойство IDENTITY.

CREATE TABLE [EMPLOYEE TABLE]
(ID int IDENTITY (1, 1)...  <<other columns>>

Затем вы хотите исключить столбец из оператора INSERT.Значение будет назначено, если вы не включите информацию для этого столбца в INSERT.

0 голосов
/ 16 ноября 2010

Пример оператора вставки на основе следующей таблицы

Create Table dbo.Test
(
FirstName varchar(max),
LastName varchar(max)
)

Insert Into dbo.Test (FirstName, LastName)
Values ('John', 'Doe')

Или вы можете использовать select для вставки данных

Insert Into dbo.Test (FirstName, LastName)
Select FirstName,
       LastName
From dbo.Employees
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...