如何防止存储过程从其他存储过程返回结构
How to prevent stored procedures from returning structures from other stored procedures
假设我有 2 个存储过程:
CREATE spTest1
AS
BEGIN
SELECT Field1 FROM TableA
END
CREATE spTest2
AS
BEGIN
EXEC spTest1
SELECT Field2 from TableB
END
如果我们查看 spTest
执行的结果,我们可以看到 returned 了 2 个结果集。有没有办法只 return 来自 spTest2
的结果集,即来自 TableB
的 Field2
?
感谢您的帮助...
这是糟糕的设计。如果存储过程的目的是 "return a resultset" 那样,则不应在其他存储过程中调用它。我的猜测是内部程序会做外部程序所必需的事情。 "do stuff" 部分应与 "return a resultset" 部分分开,这样您就不必做疯狂的解决方法。
假设我有 2 个存储过程:
CREATE spTest1
AS
BEGIN
SELECT Field1 FROM TableA
END
CREATE spTest2
AS
BEGIN
EXEC spTest1
SELECT Field2 from TableB
END
如果我们查看 spTest
执行的结果,我们可以看到 returned 了 2 个结果集。有没有办法只 return 来自 spTest2
的结果集,即来自 TableB
的 Field2
?
感谢您的帮助...
这是糟糕的设计。如果存储过程的目的是 "return a resultset" 那样,则不应在其他存储过程中调用它。我的猜测是内部程序会做外部程序所必需的事情。 "do stuff" 部分应与 "return a resultset" 部分分开,这样您就不必做疯狂的解决方法。