Po pierwsze - Twój kod, nawet jeśli naprawisz jego składnię, jest błędny. Wygląda na to, że próbujesz zaimplementować własny mechanizm autoinkrementacji. To się nie powiedzie.
Właściwym sposobem jest użycie wbudowanego mechanizmu SQL Server do autoinkrementacji i utworzenie ID
kolumny jako Identity
.
Wtedy nie musisz w ogóle umieszczać go w instrukcji insert i jesteś bezpieczny nawet w środowiskach wieloklienckich lub wielowątkowych (które twoja obecna implementacja zacznie dawać błędne wyniki).