Ако имате една колона, която е IDENTITY, просто направете това
INSERT MyTable DEFAULT VALUES; --allows no column list. The default will be the IDENTITY
SELECT SCOPE_IDENTITY();
Ако нямате самоличност, тогава можете ли да я зададете? Това е най-добрият начин... и използвайте SQL по-горе.
Ако не, искате да вмъкнете нов ред
INSERT MyTable (admidid)
OUTPUT INSERTED.admidid --returns result to caller
SELECT ISNULL(MAX(admidid), 0) + 1 FROM MyTable
Бележки:
- При големи натоварвания решението MAX може да се провали с дубликати
- SCOPE_IDENTITY е след фактът, не преди
- SCOPE_IDENTITY работи само с колона IDENTITY. Същото с всеки идиотизъм, използващ IDENT_CURRENT
- Изходната клауза заменя SCOPE_IDENTITY за решението MAX