如何防止存储过程从其他存储过程返回结构

时间:2015-04-02 17:20:56

标签: sql sql-server stored-procedures

假设我有2个存储过程:

CREATE spTest1
AS
BEGIN
  SELECT Field1 FROM TableA
END

CREATE spTest2
AS
BEGIN
  EXEC spTest1
  SELECT Field2 from TableB
END

如果我们查看spTest执行的结果,我们可以看到返回了2个结果集。有没有办法只从spTest2 Field2返回TableB的结果集?

感谢您的帮助...

1 个答案:

答案 0 :(得分:2)

这是糟糕的设计。如果存储过程的目的是“返回结果集”,则不应在其他存储过程中调用它。我的猜测是内部程序做外部过程所必需的东西。 “do stuff”部分应与“返回结果集”部分分开,这样您就不必进行疯狂的解决方法。