Sql server 如何自动执行返回insert语句的查询?

Sql server 如何自动执行返回insert语句的查询?,sql-server,Sql Server,为了将一些数据移动到joinTable,我编写了以下查询: SELECT 'insert into dbo.person_parks (person_id, parks_id) values ('+ cast([id] as nvarchar) +',' + [parks_id] + ');' FROM [dbo].[person] where parks_id is not null 现在它可以正常工作,因为它显示了正确的插入查询,然后我在一个单独的查询窗口中执行这些查询,但是如何使它们自动

为了将一些数据移动到joinTable,我编写了以下查询:

SELECT 'insert into dbo.person_parks (person_id, parks_id) values
('+ cast([id] as nvarchar) +',' + [parks_id] + ');'
FROM [dbo].[person] where parks_id is not null
现在它可以正常工作,因为它显示了正确的插入查询,然后我在一个单独的查询窗口中执行这些查询,但是如何使它们自动执行/插入,而不是仅显示为数据集


很抱歉,这可能是非常明显和简单的,但我在SQL Server方面没有那么丰富的经验,我非常感谢您的帮助。

想知道您为什么要这样做,以及代码是如何被调用的。您可以执行insert并使用OUTPUT子句来显示所执行的操作。在执行动态sql时要小心sql注入(这里看起来不是问题)。

利用execute sp\u executesql()。维护的一部分是添加多对多关系,而不修改其他两个表。没有什么动态,只是一次性的东西呵呵。
INSERT INTO dbo.person_parks (person_id, parks_id)
SELECT CAST([id] as nvarchar), [parks_id]
FROM [dbo].[person] 
WHERE parks_id IS NOT NULL