2011-06-15 137 views
3

我有一个存储过程(sproc A),它在语法上是正确的。所以当我在创建或更改语句上点击“运行”时,它将被保存到数据库中。检查存储过程是否有效

但是,sproc A调用另一个存储过程(sproc B)。它没有提供足够的参数给B,所以我没有看到它是一个有效的存储过程。

我想检测我的数据库中没有传递足够的参数到他们自己的存储过程中的任何存储过程。

三江源, 菲德尔

+0

我相信“延迟名称解析”是这个罪恶的概念名称 – Fidel 2012-01-25 09:40:17

回答

5

不幸的是,在SQL Server中没有机制来测试依赖性,参数等

你必须search+check,或参数提供默认值。否则你只能通过测试来捡起它。

Red Gate SQL prompt一个很好的自动完成工具,可以列出参数+类型为你

注:

这是一个长期存在的问题,甚至有a request to MS包括这个。 SP的参数检查是对OPTION STRICT建议一个

+0

感谢GBN – Fidel 2011-06-15 13:48:03

+0

感谢在选项严格的信息的快速反应,那就是它要求一种耻辱4年前... – Fidel 2011-06-16 00:21:11