2

根据运行强制对象在下次运行时sp_recompile重新编译

我需要在运行 sp-recompile 命令时重新编译它,主要是检查语法错误和存储过程所依赖的对象是否存在。

-- 在 sql 2008 上有 sys.sp_refreshsqlmodule 模块...

4

1 回答 1

1

可能最简单的方法是重新部署存储过程,这将(据我所知)消除重新编译过程的需要。

这些方面的东西:

SET @ProcedureName = 'SampleProcedure'

CREATE TABLE #ProcedureContent (Text NVARCHAR(MAX))
INSERT INTO #ProcedureContent
EXEC sp_helptext @ProcedureName

DECLARE @ProcedureText NVARCHAR(MAX)
SET @ProcedureText = ''

SELECT @ProcedureText = @ProcedureText + [Text] FROM #ProcedureContent 

EXEC ('DROP PROCEDURE ' + @ProcedureName);
EXEC (@ProcedureText)

DROP TABLE #ProcedureContent 
于 2011-04-02T08:34:37.443 回答