У меня есть таблица для ведения журнала, для которой требуется идентификатор журнала, но я не могу использовать столбец идентификаторов, поскольку идентификатор журнала является частью комбинированного ключа.
create table StuffLogs
{
StuffID int
LogID int
Note varchar(255)
}
Для StuffID
& LogID
.
имеется комбо-ключ.
Я хочу создать триггер вставки, который вычисляет следующий LogID при вставке записей журнала. Я могу сделать это для одной записи за раз (см. Ниже, чтобы увидеть, как вычисляется LogID
), но это не очень эффективно, и я надеюсь, что есть способ сделать это без курсоров.
select @NextLogID = isnull(max(LogID),0)+1
from StuffLogs where StuffID = (select StuffID from inserted)
Чистый результат должен позволить мне вставить любое количество записей в StuffLogs с автоматическим вычислением столбца LogID.
StuffID LogID Note
123 1 foo
123 2 bar
456 1 boo
789 1 hoo
Вставка другой записи с использованием StuffID: 123, Note: bop
приведет к следующей записи:
StuffID LogID Note
123 3 bop