我想創建一個存儲過程來執行架構中的所有存儲過程。這是我有:執行一組存儲過程
ALTER procedure [ALL_IC].[EXECUTE_ICS]
@sql nvarchar(max) = null,
@fa nvarchar(max) = null
as
begin
set @sql = ('select (select ''EXEC [IC].['' + b.name + ''];''
from sys.procedures b
join sys.schemas s on s.schema_id = b.schema_id
where s.name = ''IC''
for xml path(''''))'
) end
EXECUTE sp_executesql @sql
運行此選擇字符串來執行所有的存儲過程,但它並沒有實際執行它們。
EXEC ALL_IC.EXECUTE_ICS
如何通過運行該代碼行來實際執行所有存儲過程?
SQL Server 2012的
如果存儲過程需要參數該怎麼辦? – lad2025
@ lad2025我正在執行的人不需要參數。 – bheltzel
這聽起來像一個糟糕的設計。盲目地運行架構中的每個過程聽起來像是一場災難。這裏有很多「假設」。 –