[MSSQL]如何重新Compile 所有自定義function和Stored Procedure

因為專案目前大量新增Value function 也有規定傳入參數順序等

在調整寫法的時候可能會修改參數位置

漏改的話 可是就炸得滿天飛了....

如果要確定沒有漏改的情況

我想重新Compile所有SP和Function時,

SQL應該怎麼下?

紀錄一下

DECLARE C CURSOR FOR (SELECT [name] FROM sys.objects WHERE [type] IN ('P', 'FN') And name Like '特定名稱');
DECLARE @name SYSNAME;
OPEN C;
FETCH NEXT FROM C INTO @name;
WHILE @@FETCH_STATUS=0 BEGIN
    EXEC sp_recompile @name;
    FETCH NEXT FROM C INTO @name;
END;
CLOSE C;
DEALLOCATE C;

其中sys.objects type P和FN 就是Stored Procedure和Function的意思

詳細可以參考微軟的網站

 

-----------------------------------------

有時在會走之前你就得跑

你不解決問題 就等問題解決你