编写存储过程:根据code,自动匹配对应数据,将对应字段减少num,然后返回计算后的结果num字段的值
USE dbo-- 对应的数据库
GO
CREATE PROCEDURE z_sp_export @p_code CHAR ( 20 ), @p_num decimal(5,2),@r_num decimal(5,2) OUTPUT AS
UPDATE
t_student
SET
student_no = student_no - @p_num
WHERE
code = @p_code;
SELECT
@r_num = student_no
FROM
t_student
WHERE
code = @p_code;
GO
调用存储过程并且返回值
DECLARE @return_value DECIMAL(5,2) EXEC z_sp_export '123',
'2',@return_value OUTPUT SELECT
@return_value AS '返回值'
其他知识
触发器里面有个专用表 deleted ,这个表存储了更新/删除前相应记当的状态,因此,可以查询 deleted 表里面的数据实现获取更新前的值。
注:相应地,还有一个表 inserted 存储即将更新/插入的字段值。