INSERT INTO myTable (
field1,
field2,
field3
) SELECT
@someLocalVariable,
field2,
field3
FROM
INSERTED
Просто помните, что если это было вызвано пакетной вставкой (т. Е. INSERTED имеет более одной записи), все записи также будут вставлены в целевую таблицу.
(что именнодолжен делать ИМХО, но по какой-то причине люди обычно забывают об этом.)
Редактировать
ОП забыл сказать, о чем на самом деле был его вопрос: создание уникального первичногоключевые значения.Итак, в этом случае, один из способов сделать это будет примерно так:
CREATE TRIGGER
dbo.InsteadOfInsertMyTable
ON MyTable
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO myTable (
primaryKeyField,
field2,
field3
) SELECT
dbo.someUniqueValueGeneratorUDF(),
field2,
field3
FROM
INSERTED
END
GO