0
我想從普及sql中的用戶定義函數中調用存儲過程。我有:如何從函數調用存儲過程
SET :retVal = Sales_SP_getNetSales('2013-1-1','2013-1-31','05',:NetSales);
作爲我的函數中的調用,其中Sales_SP_getNetSales是存儲過程。這是做這件事的正確方法嗎?存儲過程返回一個整數。
我想從普及sql中的用戶定義函數中調用存儲過程。我有:如何從函數調用存儲過程
SET :retVal = Sales_SP_getNetSales('2013-1-1','2013-1-31','05',:NetSales);
作爲我的函數中的調用,其中Sales_SP_getNetSales是存儲過程。這是做這件事的正確方法嗎?存儲過程返回一個整數。
我找不到任何方式從UDF調用存儲過程。運行存儲過程需要EXEC(UTE)或CALL語句。但是,無法將存儲過程返回的結果集轉換爲Pervasive UDF中的變量。部分原因可能是因爲存儲過程無法保證只返回一個值。存儲過程在Pervasive中返回整個結果集。
您可能會考慮將存儲過程更改爲函數。從函數調用函數是可能的:
create function f2(:B integer)
returns integer
as
begin
return :B;
end;
CREATE FUNCTION f1(:A integer)
RETURNS Integer
AS
BEGIN
RETURN f2(:a);
END;
select f1(5)
很好地解釋了程序和函數之間的區別,現在我知道了。 – Charlesliam