首页 新闻 搜索 专区 学院

为什么存储过程没执行

0
[已关闭问题] 关闭于 2012-02-06 16:01

这是我在SQL Server2005中写的存储过程:

ALTER proc [dbo].[proc_addDept]
@deptName varchar(50), @deptStatus int , @employeeId varchar(20),@deptId int output
as
insert into departments values(@deptName,@deptStatus,@employeeId)
set @deptId = @@identity
print('shifouok');
print(@deptId)

update employees set dept_id = @deptId where employee_id = @employeeId
print('ok')

这是我的调用:

declare @deptId int
execute proc_addDept '11',1,'E20120110117001',@deptId output
print(@deptId)

但是输出结果是:

(1 行受影响)
shifouok
55

(0 行受影响)
ok
55

为什么 update employees set dept_id = @deptId where employee_id = @employeeId 没有执行呢

莫说的主页 莫说 | 菜鸟二级 | 园豆:210
提问于:2012-02-06 11:54
< >
分享
所有回答(2)
0

employees 中有 emplotee_id 的记录吗? (0 行受影响)不是说没执行,按照字面意思理解,要么employees 中没有这个employee_id, 要么(如果有触发器)触发器回滚了。

ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-06 14:15

谢谢,我自己解决了

支持(0) 反对(0) 莫说 | 园豆:210 (菜鸟二级) | 2012-02-06 15:59
0

是我自己的字符串拼错了

莫说 | 园豆:210 (菜鸟二级) | 2012-02-06 16:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册