【发布时间】:2009-03-03 11:18:34
【问题描述】:
我认为我遇到了与 kcrumley 在问题“Problem calling stored procedure from another stored procedure via classic ASP”中描述的相同的问题。但是他的问题并没有真正包含解决方案,所以我再试一次,添加我自己的观察:
我有两个存储过程:
CREATE PROCEDURE return_1 AS BEGIN
SET NOCOUNT ON;
SELECT 1
END
CREATE PROCEDURE call_return_1_and_return_2 AS BEGIN
SET NOCOUNT ON;
EXEC return_1
SELECT 2
END
请注意,这两个过程都包含“SET NOCOUNT ON”。当我执行“call_return_1_and_return_2”时,我仍然得到两个记录集。首先是值 1,然后是值 2。
这让 ASP(经典的 VBScript ASP)脱离了轨道。
关于如何抑制第一个结果集的任何提示?为什么即使有 NOCOUNT 也存在?
跳过 ASP 中的第一个记录集不是一种选择。我需要一个“仅限数据库”的解决方案。
【问题讨论】:
-
一些响应指出您可以从 SELECT 更改为 RETURN,但这是一个很好的问题 - 如果嵌套存储过程必须 SELECT 怎么办,因为其他东西调用它,并且你不能改变它吗?我想知道是否有可能“吞下”这样的结果集。
标签: sql-server stored-procedures nocount