我有这样的存储过程:
ALTER procedure [dbo].[fetchkey]
@carid nvarchar(50) =null
as
begin
select t.TBarcode,t.Status
from Transaction_tbl t
where t.TBarcode=@carid
end
我的输出:
TBarcode Status
51891044554 1
我想再显示一列取决于我的状态。所以我写了一个这样的函数:
ALTER function [dbo].[keyloc](@status numeric(18,0)) RETURNS varchar(50)
as
begin
declare
@keylocation Varchar(50)
if @status=1
select @keylocation= e1.Ename from Transaction_tbl t left join EmployeeMaster_tbl e1
ON e1.ECode = t.ECode AND t.Status = 1 or e1.Ecode=t.DelEcode and t.Status=4
return @keylocation
end
然后我尝试像这样执行我的存储过程:
ALTER procedure [dbo].[fetchkey]
@carid nvarchar(50) =null
as
begin
select t.TBarcode,[dbo].[keyloc](t.Status)
from Transaction_tbl t
where t.TBarcode=@carid
end
但我的输出出错了:
TBarcode
51891044554 Null
我的代码有什么问题?我的预期输出是这样的:
TBarcode Status key location
51891044554 1 Raheem.
我怎么能这样做?