分析数据库的依赖关系
有一个非常好的系统存储过程会帮助你分析数据库的依赖关系,它就是:sp _ dependencies。该过程将指示哪些数据库对象依赖于相应的数据库对象,以及哪些数据库对象被相应的数据库对象引用。
如果所有对象都是按照依赖顺序创建的,那么这个系统存储过程将会更加健壮。依赖于其他对象的对象总是在它们引用的对象之后创建。
使用这个过程的一个原因是确定过程或表中的变化的影响。如果您有一个引用30个对象的对象,那么在编码过程中,您可能需要做更多的工作来更改这30个对象。
以下脚本显示了一个存储过程和一些对象。这个存储过程引用一些对象,其他对象引用这个存储过程。
如果存在(选择名称
来自系统对象
其中name = N'test_table '
并且type = 'U ')
删除表测试_表
去
创建表test_table(
c1 VARCHAR(255) NULL)
去
如果存在(选择名称
来自系统对象
其中name = N'test_proc1 '
并且type = 'P ')
DROP PROCEDURE test_proc1
去
创建过程test_proc1 @name sysname = NULL
如同
如果@name不为空
开始
插入测试表值(@name)
结束
其他
开始
返回
结束
去
如果存在(选择名称
来自系统对象
其中name = N'test_proc2 '
并且type = 'P ')
丢弃程序测试_过程2
去
创建过程test_proc2
如同
声明@myVar sysname
从id = 1的sysobjects中选择@myVar = name
EXEC test_proc1 @myVar
去
EXEC sp_depends test_proc1
去
删除过程test_proc2,test_proc1
去
删除表测试_表
去
位律师回复
0条评论