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