用于查找和替换功能的脚本

时间:2010-10-04 15:43:35

标签: sql sql-server tsql sql-server-2008

我们已经更改了我们在应用程序中使用的一些基本功能,并且我试图找出最好的方法来找到并用新的功能替换现有功能?输入/输出不会改变,只是架构和一些内部逻辑。

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

我以为我可以使用sys.syscomments找到对象,然后对对象的文本进行替换?

任何建议都将不胜感激。

谢谢,

取值

2 个答案:

答案 0 :(得分: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会截断。

一旦知道了引用的位置,就可以更新它们......

答案 1 :(得分:0)

或者将所有内容编写到.sql文件中以识别依赖对象,并根据需要进行替换。

只需删除相关对象并使用更新的脚本创建它们。