Sejak SET IDENTITY_INSERT
adalah sesi sensitif, dikelola di tingkat buffer tanpa menyimpan di suatu tempat. Ini berarti kita tidak perlu memeriksa IDENTITY_INSERT
status karena kami tidak pernah menggunakan kata kunci ini di sesi saat ini.
Maaf, tidak ada bantuan untuk ini.
Pertanyaan yang bagus :)
Sumber:Disini
Perbarui Mungkin ada cara untuk melakukan ini, juga terlihat di situs yang saya tautkan, IMO, terlalu banyak usaha untuk berguna.
if
(select max(id) from MyTable) < (select max(id) from inserted)
--Then you may be inserting a record normally
BEGIN
set @I = 1 --SQL wants something to happen in the "IF" side of an IF/ELSE
END
ELSE --You definitely have IDENTITY_INSERT on. Done as ELSE instead of the other way around so that if there is no inserted table, it will run anyway
BEGIN
.... Code that shouldn't run with IDENTITY_INSERT on
END