Q 1:
У меня есть пустая таблица для вставки записей. Имеет один столбец типа IDENTITY
, для которого я хочу вставить значения вручную.SQL Server 2008 R2: IDENTITY
Пример:
Таблица: Сотрудник
create table Employee
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Вставка записей:
SET IDENTITY_INSERT Employee ON;
insert into Employee values(101,'ABC','XYZ','HighStreet','Moscow')
Ошибка:
Msg 8101, уровень 16, состояние 1, строка 1
Явное значение для столбца идентификации в таблице «Сотрудник» может быть указано только при использовании списка столбцов, а IDENTITY_INSERT включен.
Q 2:
Как получить последний вставленный ID
работника без использования MAX
и Top
?
[Плохие привычки пинают: с помощью SELECT */опускаем список столбцов] (http://sqlblog.com/blogs/ aaron_bertrand/archive/2009/10/10/bad-habits-to-kick-using-select-omitting-the-column-list.aspx) –
@marc_s, +1 Благодарим вас за полезную ссылку. – Meem