注册 登录
编程论坛 SQL Server论坛

看下这个存储过程哪儿有问题

Lovedandan 发布于 2007-06-26 23:00, 1094 次点击
Employee(Emp_id char(8),Emp_name varchar(20),Depart char(2))
Department(Depart char(2),ManagerID char(8))
主键外键都已定义

select Emp_name from Employee where Emp_id in (select ManagerID from Department where Depart in (select Depart from Employee where Emp_id = '00000000'))
可以正确执行并得出结果
然而用存储过程却不行

该存储过程如下
create procedure managerQuery (@id char)
as
select Emp_name from Employee where Emp_id in (select ManagerID from Department where Depart in (select Depart from Employee where Emp_id = @id))
go
然后调用
declare @temp char set @temp = '00000000'
execute managerQuery @temp
结果是空集,也没有报错,怎么回事?
5 回复
#2
fqbnet20082007-06-27 11:43
把char改成varchar 试一下
#3
cyyu_ryh2007-06-27 12:37
有无数据哦
#4
Lovedandan2007-06-27 20:40
回复:(fqbnet2008)把char改成varchar 试一下

大哥,我太崇拜你了。
果然行了

#5
zhou2008-03-30 17:04
提示: 作者被禁止或删除 内容自动屏蔽,只有管理员可见
#6
xiaoxinwen2008-04-02 11:05
正在学习中顶下
1