Καλησπέρα,
Θέλω σε ένα Sql query να εκτελείται μια function η οποία θα υπολογίζει κάποια expressions και θα μου τα επιστρέφει σε columns. Πειραματίζομαι στο πως μπορεί να γίνει οπότε όποιες συμβουλές καλοδεχούμενες.
Η function που εφτιαξα..
ALTER FUNCTION dbo.Perf_test
(
@WcId char (10)
,@MatGroup varchar(10)
,@Mrp varchar (3)
,@Descr varchar(50)
)
RETURNS @table TABLE (Type varchar(4))
AS
BEGIN
declare @Type as varchar(4)
set @Type=dbo.Perf_categorize(@WcId,@MatGroup,@Mrp,@Descr)
Insert @table
Select @Type
return
END
Και το query όπου και την καλώ..
SELECT ID,WCID, Material_Group, MRP_Controller, Description,(select * from dbo.perf_test(WCID,Material_Group,MRP_Controller,Description))
FROM PERF_Performance
Αυτό που παρατηρώ είναι:
α) εκτελείται κανονικά αλλά το column που μου επιστρέφει είναι No Column Name.
b)όταν τροποποιήσω την function για να μου επιστρέψει περισότερα columns παίρνω το παρακάτω error
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
Ευχαριστώ
Dionisis