提示:其中的OUTPUT代表返回值 ,也可用retrun来返回,但是只能返回数字类型
ALTER PROC up_addOrEditUser(
@Id INT, --定义变量为数字
@Name VARCHAR(20), --定义变量为字符串
@ResultId INT OUTPUT, --定义返回值在变量后面加上OUTPUT
@ResultMsg VARCHAR(20) OUTPUT --定义返回值
)
AS
IF @Id < 0 OR @Id = 0 --判断
BEGIN
SET @Id = (SELECT MAX(ID) FROM dbo.student); -- 赋值
IF(@Id IS NULL OR @Id = 0)
BEGIN
SET @Id = 1;
END
ELSE
BEGIN
SET @Id = @Id + 1;
END
INSERT INTO dbo.student(ID,Name) VALUES(@Id,@Name); -- SQL语句
SELECT * FROM dbo.student WITH(nolock);
SET @ResultMsg = '该操作是插入'; --赋值
END
ELSE
BEGIN
UPDATE dbo.student SET Name = @Name WHERE ID = @Id;
SET @ResultId = @@rowcount; --更新操作返回影响行数
SET @ResultMsg = '该操作是更新';
END
DECLARE @RId INT;
DECLARE @Rmsg VARCHAR(20);
EXEC up_addOrEditUser 1,'BertXie',@RId OUTPUT,@Rmsg OUTPUT;
PRINT '返回ID:' + CAST(@RId AS VARCHAR) + '操作是:' + @Rmsg;
> 返回ID:1
> OK
> 查询时间: 0.002s
- 本文标题: 存储过程OUTPUT的使用
- 文章分类:【SQLServer】
- 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.