Hanya untuk mencadangkan jawaban Brad yang diberikan dalam komentar, inilah MVCE untuk melakukan seluruh urutan penyisipan dalam satu permintaan dinamis. Sesuai komentar Kris, pastikan nama basis data terdaftar putih, karena kueri rentan terhadap SqlInjection (sayangnya, nama basis data tidak dapat diparameterisasi dalam sql dinamis melalui sp_executesql
)
Diketahui:
CREATE TABLE TableName
(
ID INT IDENTITY(1,1)
);
Satu batch dapat dieksekusi:
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)