我只想更新员工离开工作的时间
create proc [dbo].[upensraf]
@empl1 varchar ,
@ensraf time
as
update dbo.Elamal_elyome
set Elanseraf=@ensraf
where ID = (
select (max(dbo.Elamal_elyome.ID))
from dbo.Elamal_elyome
where employee=@empl1
)
答案 0 :(得分:2)
您需要声明@ empl1 varchar变量的大小 - 在不定义大小的情况下,它会尝试搜索具有单个字符的员工(如果您尝试更新的话,这将有效)。更改大小以匹配表定义中的内容 - 我在下面的示例中使用了100:
create proc [dbo].[upensraf]
@empl1 varchar(100) ,
@ensraf time
as
update dbo.Elamal_elyome
set Elanseraf=@ensraf
where ID = (
select (max(dbo.Elamal_elyome.ID))
from dbo.Elamal_elyome
where employee=@empl1
)
这是一个有效的SQL Fiddle