【发布时间】:2018-02-21 05:42:17
【问题描述】:
我有一个存储过程,它获取两个参数,Date 和 EquipName
并且结果集没有存储在表中。
我想要做的是为不同的EquipName 和每个结果集多次运行存储过程,INSERT 只运行到一个表中 (MyTable)。
存储过程的结果有30行。
为此,我使用以下代码。
DECLARE @EquipName INT
DECLARE curs CURSOR LOCAL FAST_FORWARD FOR
SELECT EquipName
FROM EquipTable
WHERE ...
OPEN curs
FETCH NEXT FROM curs INTO @EquipName
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO MyTable
EXEC sp_storeProc '2018-01-01', @EquipName
FETCH NEXT FROM curs INTO @EquipName
END
CLOSE curs
DEALLOCATE curs
我的问题是:
假设存储过程结果有 5 列,但 MyTable 有一个额外的列 NameOfEquip,对于存储过程的每个结果集,将 @EquipName 插入所有 30该结果集的行。
我该怎么做? MyTable 已使用正确的架构创建。
【问题讨论】:
标签: sql-server stored-procedures dynamic-sql insert-into