Καλημέρα,
Έφτιαξα την πρώτη μου SQL function και δουλεύει κανονικά όταν την κάνω execute. Το πρόβλημα παρουσιάζεται όταν την καλώ μέσα από SQL Query και μου γυρνάει λάθος αποτέλεσμα. Επειδή δεν μπορώ να καταλάβω τι φταίει παραθέτω query statement και function. Αυτό που θέλω να μου επιστρέψει είναι η τιμή του πεδίου AfinalCombo της πρώτης εγγραφής.
Ευχαριστώ
ALTER FUNCTION dbo.Is_A_FinalF(@xWorkGroup varchar(8),@xWorkCenter varchar(8),@xMrp varchar(3))
returns bit
as
begin
declare @a as varchar(8);
declare @b as varchar(8);
declare @c as bit;
declare @return as bit
set @return=0
if (@xWorkGroup is not null) and @xWorkGroup<>''
begin
declare WGr_cursor cursor for
select WorkGroup,AfinalCombo
from Work_Groups
where (WorkGroup=@xWorkGroup)
group by WorkGroup,AfinalCombo
open WGr_cursor
fetch next from WGr_cursor
into @a,@b
set @return=@b
close WGr_cursor
deallocate WGr_cursor
end
if (@xWorkCenter is not null) and @xWorkCenter<>''
begin
declare WGr_cursor cursor for
select Workcenter,Mrp_Controller,AfinalCombo
from Work_Groups
where (Workcenter=@xWorkCenter) and (Mrp_Controller=@xMrp)
open WGr_cursor
fetch next from WGr_cursor
into @a,@b,@c
set @return=@c
close WGr_cursor
deallocate WGr_cursor
end
return (@return)
end
___________________________________________
select workcenter , workgroup,afinalcombo,dbo.Is_A_FinalF (workcenter,'','') as expr from work_groups
Dionisis