我有一个表,其中包含1-52周的列。我还有一个存储过程,这个存储过程使用@date返回一个单一的值,我想创建第二个存储过程,将所有52列的值插入到我的表中。
我想创建第二个存储过程,将所有52列的值插入到表中。我试图执行原始存储过程52次,每列执行一次,每次在@date上添加7天。这可能吗?有没有更好的方法?谢谢您
PROC procedure2
@date = '01/01/2018'
AS
BEGIN
INSERT INTO table (wk01, wk02,...)
EXEC procedure1 @date
SET @date = DATEADD(dd, 7, @date)
EXEC procedure1 @date
...
END
你可以使用游标,但是请注意,由于性能问题,这应该是你最后的选择。
是否可以将一个表变量传递给这个存储过程,然后使用表变量?
如果不可以,我们可以使用游标。