sql >> Databáze >  >> RDS >> Sqlserver

Jaký je rozsah SET IDENTITY_INSERT xyz ON?

Je to možnost relace, kterou může mít stůl zapnutou pouze pro jeden stůl současně, ale u stejného stolu ji může mít zapnuto několik různých relací (nejsme si však jisti, že by to byl dobrý nápad!)

Když se dokončí podřízená dávka (která nastaví tuto možnost), vypadá to, že se automaticky zruší nastavení pro připojení.

CREATE TABLE Tst
(C INT IDENTITY(1,1))

EXEC('SET IDENTITY_INSERT Tst ON')
INSERT INTO Tst(C) VALUES (1) /*Fails - Complains IDENTITY_INSERT is off*/

SET IDENTITY_INSERT Tst ON
EXEC('INSERT INTO Tst(C) VALUES (1)') /*Succeeds this way round*/
SET IDENTITY_INSERT Tst OFF


SET IDENTITY_INSERT Tst ON
EXEC('SET IDENTITY_INSERT Tst ON; INSERT INTO Tst(C) VALUES (1);') /* Also succeeds like this*/


  1. Je možné nastavit časový limit pro SQL dotaz na Microsoft SQL Server?

  2. export databáze Oracle (vytvoření souboru .sql dat)

  3. Jak se vyhnout tomuto velmi těžkému dotazu, který zpomaluje aplikaci?

  4. MySQL a JDBC s rewriteBatchedStatements=true