前几天检查一个兄弟写的存储过程,我想知道这个存储过程到底涉及到几个表,与我要求的表是否一致,是否有缺失,怎么办呢?难道靠人的眼睛一点一点看吗?这个到不麻烦?但是如果想知道都有那些表被读写过,哪些表被写过。。。。这不是很麻烦吗?有没有好的办法呢?
答案:使用sp_depends。
MSDN内容:
sp_depends
显示有关数据库对象相关性的信息(例如,依赖表或视图的视图和过程,以及视图或过程所依赖的表和视图)。不报告对当前数据库以外对象的引用。
语法
sp_depends [ @objname = ] 'object'
参数
[@objname =] 'object'
被检查相关性的数据库对象。对象可以是表、视图、存储过程或触发器。Object 的数据类型为 varchar(776),没有默认值。
返回代码值
0(成功)或 1(失败)
结论:使用sp_depends,结合编码,可以实现自动的存储过程依赖关系检查,扩展后就可以实现存储过程的自动测试。