首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问存储过程的多个输出

2012-01-05 
请教存储过程的多个输出ALTERPROCEDURE[dbo].[select_stu_Valid](@UserIdvarchar(50),@ISValidvarChar(12)

请教存储过程的多个输出
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   取出,这样的话应该怎么改写呢?

[解决办法]
SELECT ISValid = 'no ', s_ID
FROM mytable
[解决办法]
ALTER PROCEDURE [dbo].[select_stu_Valid]
(
@UserId varchar(50)
AS
IF EXISTS(SELECT s_userguid FROM mytable WHERE s_userguid = @UserId)
SELECT 'yes ', s_ID FROM mytable WHERE s_userguid = @UserId
ELSE
SELECT 'no '

[解决办法]

ALTER PROCEDURE [dbo].[select_stu_Valid]
(
@UserId varchar(50),
@s_ID varchar(50) output,
@ISValid varChar(12) OUTPUT)
AS
IF EXISTS(SELECT s_userguid ,@s_ID=s_ID FROM mytable WHERE s_userguid = @UserId)
SELECT @ISValid = 'yes '
ELSE
SELECT @ISValid = 'no '


热点排行