Добавление первичного ключа с помощью инструкции «insert into»

#tsql

#tsql

Вопрос:

У меня есть следующий запрос, и мне нужно добавить первичный ключ в столбец Employeenumber:

 SELECT [Exceptions].Employeenumber,[Exceptions].exceptiondate, [Exceptions].starttime, [exceptions].endtime, [Exceptions].code, datediff(minute, starttime, endtime)  as minutes INTO scratchpad3,
FROM Employees INNER JOIN Exceptions ON [Exceptions].EmployeeNumber = [Exceptions].Employeenumber
where [Exceptions].exceptiondate between '5/1/2011' and '5/8/2011'
GROUP BY [Exceptions].Employeenumber, [Exceptions].Exceptiondate, [Exceptions].starttime, [exceptions].endtime,
[Exceptions].code, [Exceptions].exceptiondate
  

но вы не знаете правильного синтаксиса, когда выполняете «create» таким образом. Каков правильный синтаксис для добавления первичного ключа таким образом?

Спасибо.

Комментарии:

1. здесь не используйте <code> теги. Выделите код / запрос и нажмите {} кнопку в редакторе (или Control K ).

Ответ №1:

Вы не можете добавить первичный ключ к инструкции SELECT. Первичные ключи идентифицируют столбцы таблиц. Вам нужно будет ИЗМЕНИТЬ ТАБЛИЦУ и ДОБАВИТЬ ПЕРВИЧНЫЙ КЛЮЧ. Синтаксис отличается, но похоже, что вы используете SQL Server. Инструкции можно найти здесь.

Если вы хотите просто добавить номер для каждой записи, попробуйте использовать ROW_NUMBER (может отличаться в зависимости от используемой вами базы данных).

Надеюсь, это поможет, Джейсон

Комментарии:

1. на самом деле, Джейсон, я подходил к этому не с той стороны. Я должен был делать это с самого vb.net и не на стороне sql. тем не менее, спасибо за информацию.