我正在进行构建用户定义函数的作业。当我运行这个select语句
时SELECT *
FROM DPSupervisorLookup('112233')
它给了我这个错误
Msg 8152,Level 16,State 14,Line 1字符串或二进制数据 截断。
我知道这个特定的员工ID不在数据库中,但是当我运行一个时,我仍然会遇到相同的错误。这是我的代码,以防我在某处出错。
Create Function DPSupervisorLookUp (@EmployeeID int)
Returns @Supervisors Table
(SupervisorEmployeeID Int,
SupervisorLastName Varchar(20),
SupervisorFirstName Varchar (20),
SupervisorJobTitle Varchar(20))
As
begin
insert @Supervisors
select Distinct E2.EmployeeID as SupervisorEmployeeID, e2.LastName as SupervisorLastName, E2.Firstname as SupervidorFirstName, E2.JobTitle as SupervisorJobTitle
from Employee e1
left outer join Employee e2 on e1.Supervisor = e2.EmployeeID
Return
end
答案 0 :(得分:0)
LastName
,Firstname
或JobTitle
中的一个可能长度超过20个字符。请参阅Employee
表格方案,并创建具有适当大小的@Supervisors
表格字段。
答案 1 :(得分:0)
@Supervisors的列大小应该等于员工表
e.g 如果Employee.LastName的大小是50,那么@ Supervisors.SupervisorLastName的大小也应该是50