2010-10-04 84 views
0

我们已经改变了我们在应用程序中使用的一些基本函数,并且试图找出对于我来说,找到并替换现有函数的最佳方法是什么?输入/输出不会改变,只是架构和一些内部逻辑。查找和替换函数的脚本

是否有一种很好的方法来查找使用函数的对象(视图,过程等),然后用新的对象替换它?

我在想我可以使用sys.syscomments找到对象,然后做一个替换对象的文本?

任何建议将不胜感激。

感谢,

小号

回答

0

要查找引用:

SELECT OBJECT_NAME(m.object_id), 
     m.* 
    FROM SYS.SQL_MODULES m 
WHERE m.definition like N'%my_function_name%' 

SYSCOMMENTSINFORMATION_SCHEMA.routines有NVARCHAR(4000)列。所以如果在位置3998使用“my_function_name”,它将不会被找到。 SYSCOMMENTS确实有多行,但是截断了ROUTINES

一旦你知道那里的引用,你可以更新他们...

0

或脚本都出到一个.sql文件,以确定相关对象,做了更换,如果你想。

只需删除依赖对象并使用更新的脚本创建它们即可。