sql—如何通过存储过程返回更新的和以前的值?

6yoyoihd  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(262)

关于分配所需的帮助:编写一个存储过程,将eid和city作为参数,并更新给定eid的雇员的city。更新城市后,必须显示员工的旧城市和新城市及其姓名。我尝试了以下操作,成功执行了一半
`创建过程最新(@eid int,@city varchar(10))
作为
开始

update employee set city=@city where @eid=eid

结束
执行官最新12条,“拉瓦尔品第”`

m4pnthwp

m4pnthwp1#

在更新之前存储原始值。比如:

declare @previouscity varchar(10)
set @previouscity = (select city from employee where eid=@eid)

然后进行更新,最后一件事是这样的:

select name + ' changed city from ' + @previouscity + ' to ' + city
from employee
where eid=@eid

全部未经测试

luaexgnf

luaexgnf2#

使用update语句的output子句。

update employee
set    city = @city
output ...
where  eid = @eid

我不会为你写确切的输出语句。做作业!:)

相关问题