Sql server 执行存储在无循环表中的查询

Sql server 执行存储在无循环表中的查询,sql-server,Sql Server,我想知道是否有任何方法可以在不使用循环的情况下执行存储在表中的插入查询 Query ------------------------------------------------------------------------- INSERT INTO Temp (Code,No,Date) VALUES (HC076,NA,2018-01-01) GO INSERT INTO Temp (Code,No,Date) VALUES (HC060,NA,201

我想知道是否有任何方法可以在不使用循环的情况下执行存储在表中的插入查询

    Query
-------------------------------------------------------------------------
    INSERT INTO Temp (Code,No,Date) VALUES    (HC076,NA,2018-01-01) GO
    INSERT INTO Temp (Code,No,Date) VALUES    (HC060,NA,2018-01-01) GO
    INSERT INTO Temp (Code,No,Date) VALUES    (HC055,NA,2018-01-01) GO
    INSERT INTO Temp (Code,No,Date) VALUES    (HC098,NA,2018-01-01) GO
    INSERT INTO Temp (Code,No,Date) VALUES    (HC010,NA,2018-01-01) GO

我已经将整个查询保存在列中,并且需要执行每个记录查询而不执行循环,这可能吗

您可以将插入内容连接到一个长字符串中,然后执行该字符串。不过,使用动态SQL时要小心--“SQL注入”出现在脑海中

declare @queries table(query nvarchar(max));

insert @queries(query) values ('insert 1 GO'), ('insert 2 GO'), ('insert 3 GO');

declare @sql nvarchar(max) = 
   (select replace(query, 'go', '; ') from @queries for xml path(''));
print @sql;
iI将(HC076,NA,2018-01-01)作为插入值。我不能在('insert 1 GO')中使用“GO”