1 SQL存储过程返回值有3种

 1.1 直接return返回(例如 return 1);

 1.2 通过参数output返回(例如字符串类型);

 1.3 直接返回程序集(Dataset程序集)。

2 用return返回

2.1 /* 存储过程

CREATE PROCEDURE AB1
 @p1 int
AS BEGIN
DECLARE @b int
SELECT @b=COUNT(IC) FROM B AS b WHERE b.IC=@p1
IF	@b>0
RETURN 1
ELSE
	RETURN 0
 END*/

2.2 SQL中调用

-----@RC获取的是return的返回值,@result获取的是执行的结果

DECLARE @RC INT
DECLARE @result INT
SET @result=1
EXEC @RC=AB1 
@resultSELECT @RC,@result

3 使用output返回

/*3.1 查询B表中的数量,有的话则返回1 无则返回0

create PROCEDURE AB2
@no INT,
@p1 INT output
AS BEGIN
   	SET @p1=0DECLARE @num int
SELECT @num=COUNT(IC) FROM B AS b WHERE b.IC=@no
IF	@no>0
 SET  @p1=1
ELSE
	SET @p1=0
 END 
*/

3.2 sql中执行查看

DECLARE @RC INT
DECLARE @no int
DECLARE @result INT
--编号位1的卡号是否存在
SET @no=1EXEC @RC=AB2 
@no,
@result outputSELECT @RC,@result

4 直接返回程序集

4.1 存储过程

create PROCEDURE AB3
AS BEGIN
	--查询表B,C中的数据
  SELECT  	b.ID,  	b.IC  FROM  	[B] AS b
  SELECT 	c.ID,  	c.IC  FROM  	[C]AS c
 END

4.2 sql中执行查看

DECLARE @RC INT
EXEC @RC=AB3 
SELECT @RC

mysql存储过程返回结果集 sql存储过程返回值_mysql存储过程返回结果集