sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan kontrollerer du, om IDENTITY_INSERT er sat til TIL eller FRA i SQL Server?

Siden SET IDENTITY_INSERT er en sessionsfølsom, den administreres i bufferniveau uden at lagre et sted. Det betyder, at vi ikke behøver at kontrollere IDENTITY_INSERT status, da vi aldrig bruger dette nøgleord i den aktuelle session.

Beklager, ingen hjælp til dette.

Men godt spørgsmål :)

Kilde:Her

Opdater Der er måske måder at gøre dette på, også set på det websted, jeg linkede til, IMO, det er for meget til at være nyttigt.

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


  1. MySQL IN-operatørens ydeevne på (stort?) antal værdier

  2. TRANSLATE() Funktion i Oracle

  3. Sammenlign kun dag og måned med datofelt i mysql

  4. Sådan gør du dine adgangsdatabaser ultrahurtige!