日期:2014-05-19  浏览次数:20442 次

请教存储过程的多个输出
ALTER   PROCEDURE   [dbo].[select_stu_Valid]
(
@UserId   varchar(50),
@ISValid   varChar(12)   OUTPUT)
AS
IF   EXISTS(SELECT   s_userguid   FROM   mytable   WHERE   s_userguid   =   @UserId)
SELECT   @ISValid   =   'yes '
ELSE
SELECT   @ISValid   =   'no '
这个存储过程是意思是判断s_userguid   是否为空。为空的话输出no,不为空的话输出yes。
但是我想在这个存储过程中如果s_userguid   非空的话再将一个字段s_ID   取出,这样的话应该怎么改写呢?

------解决方案--------------------
ALTER PROCEDURE [dbo].[select_stu_Valid]
(
@UserId varchar(50),
@ISValid varChar(12) OUTPUT)
AS

DECLARE @ISValid varchar(200), @s_ID int
IF EXISTS(SELECT s_userguid FROM mytable WHERE s_userguid = @UserId)
SET @ISValid = 'yes '
SET @s_ID = (SELECT ....)
ELSE
SET @ISValid = 'no '
SET @s_ID = (SELECT ....)


SELECT @ISValid, @s_ID

使用 SqlDataReader 读取