我有一个存储过程,可以像这样执行:
exec sp_storedProc '123','ME', '333',NULL
我有400个不同的值需要指定。我该如何一次性执行带不同值的存储过程?
我有一个存储过程,可以像这样执行:
exec sp_storedProc '123','ME', '333',NULL
我有400个不同的值需要指定。我该如何一次性执行带不同值的存储过程?
你可以尝试使用CURSORS来完成它
DECLARE @param INT
DECLARE curs CURSOR LOCAL FAST_FORWARD FOR
SELECT parameter FROM table_name WHERE ...
OPEN curs
FETCH NEXT FROM curs INTO @param
WHILE @@FETCH_STATUS = 0 BEGIN
EXEC sp_storeProc @param
FETCH NEXT FROM curs INTO @param
END
CLOSE curs
DEALLOCATE curs
sp_
前缀。微软已经为自己的使用保留了该前缀(详见命名存储过程),您将来可能会遇到名称冲突的风险。 这也会影响存储过程性能。最好只是简单地避免使用sp_
,并使用其他前缀 - 或根本不使用前缀! - marc_s