W poprzednim
poście pisałem o wartości kolumny z ustawioną właściwością IDENTITY w sytuacji wycofania transakcji. Kontynuując temat, chciałbym zademonstrować jeszcze jedną "funkcjonalność" związaną z IDENTITY.
Jaką wartość zwróci SELECT po wywołaniu poniższego skryptu?
CREATE TABLE identity_test_null
(
id int IDENTITY(1,1),
colA int NOT NULL
);
GO
INSERT INTO identity_test_null (colA) VALUES (1);
GO
-- poniższa operacja się nie powiedzie (błąd 515)
INSERT INTO identity_test_null (colA) VALUES (NULL);
GO
INSERT INTO identity_test_null (colA) VALUES (1);
GO
SELECT MAX(id) FROM identity_test_null;