2014-01-28 3 views
0

pervasive sql의 사용자 정의 함수에서 저장 프로 시저를 호출하려고합니다. 내가 가진 : Sales_SP_getNetSales 저장 프로 시저 내 함수 호출로함수에서 저장 프로 시저를 호출하는 방법

SET :retVal = Sales_SP_getNetSales('2013-1-1','2013-1-31','05',:NetSales); 

. 이것이 올바른 방법인가? 저장 프로시 저는 정수를 반환합니다.

답변

0

UDF에서 저장 프로 시저를 호출하는 방법을 찾을 수 없습니다. 저장 프로 시저를 실행하려면 EXEC (UTE) 또는 CALL 문이 필요합니다. 그러나 저장 프로 시저가 반환하는 결과 집합을 Pervasive UDF의 변수로 변환 할 방법이 없습니다. 이 중 일부는 저장 프로 시저가 하나의 값만 반환하도록 보장 될 수 없기 때문일 수 있습니다. Pervasive의 Stored Procedure는 전체 결과 집합을 반환합니다.
저장 프로 시저를 함수로 변경하는 것이 좋습니다. 함수에서 함수를 호출하는 것이 가능합니다 :

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) 
+0

절차와 함수의 차이점을 잘 설명합니다. – Charlesliam