टिप्पणियों में दिए गए ब्रैड के उत्तर का बैकअप लेने के लिए, यहां एक एकल गतिशील क्वेरी में संपूर्ण सम्मिलन अनुक्रम करने का एक MVCE है। क्रिस की टिप्पणी के अनुसार, सुनिश्चित करें कि डेटाबेस का नाम श्वेत सूची में है, क्योंकि क्वेरी SqlInjection के लिए असुरक्षित है (दुर्भाग्य से, डेटाबेस नामों को sp_executesql
के माध्यम से डायनेमिक sql में पैरामीटर नहीं किया जा सकता है। )
दिया गया:
CREATE TABLE TableName
(
ID INT IDENTITY(1,1)
);
एक एकल बैच निष्पादित किया जा सकता है:
DECLARE @strDBName VARCHAR(100) = 'MyDatabase';
Declare @Query Varchar(MAX)
SET @Query = 'SET IDENTITY_INSERT '+ @strDBName +'..TableName ON; '
SET @Query = @Query + 'INSERT INTO '+ @strDBName
+'..[TableName](ID) SELECT COALESCE(MAX(ID), 0)+1 FROM '+ @strDBName +'..TableName; '
SET @Query = @Query + 'SET IDENTITY_INSERT '+ @strDBName +'..TableName OFF;'
EXEC(@Query)