【发布时间】:2017-06-16 13:43:18
【问题描述】:
我有一个从 C# 调用的存储过程:
CREATE PROCEDURE [MySP]
@ID int,
@Exists bit OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @Exists = 0
SELECT TOP 1 ID
FROM MyTable
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
SELECT b.*
FROM AnotherTable b
INNER JOIN AnotherTable2 c ON b.ID = c.ID
WHERE b.ID = @ID
END
ELSE
BEGIN
SET @Exists = 1
SELECT TOP 0 NULL
END
END
如果表MyTable中不存在@ID,则返回SELECT b.*,否则如果表中存在@ID,则不返回任何行
问题是当表中存在@ID时,存储过程将两个表作为结果返回给C#,一个来自SELECT TOP 1,另一个来自SELECT b.*,我只想返回SELECT b。 * 那我该怎么做呢?
【问题讨论】:
标签: c# sql-server-2008 stored-procedures