pervasive sql でユーザー定義関数からストアド プロシージャを呼び出したいと考えています。私は持っている:
SET :retVal = Sales_SP_getNetSales('2013-1-1','2013-1-31','05',:NetSales);
Sales_SP_getNetSales がストアド プロシージャである関数の呼び出しとして。これは正しい方法ですか?ストアド プロシージャは整数を返します。
pervasive sql でユーザー定義関数からストアド プロシージャを呼び出したいと考えています。私は持っている:
SET :retVal = Sales_SP_getNetSales('2013-1-1','2013-1-31','05',:NetSales);
Sales_SP_getNetSales がストアド プロシージャである関数の呼び出しとして。これは正しい方法ですか?ストアド プロシージャは整数を返します。
UDF からストアド プロシージャを呼び出す方法が見つかりません。ストアド プロシージャを実行するには、EXEC(UTE) または CALL ステートメントが必要です。ただし、ストアド プロシージャによって返された結果セットを Pervasive UDF の変数に変換する方法はありません。これの一部は、ストアド プロシージャが 1 つの値のみを返すことを保証できないことが原因である可能性があります。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)