getoperatordetails
postgresql データベースにストアド プロシージャを作成します。
別のストアド プロシージャで 3 つのパラメーターを取得しましたが、エラーが発生しました。エラーを回避し、結果を True (または) False にします。
CREATE OR REPLACE FUNCTION getoperatordetails(value character varying, operator character varying, fieldinputvalue character varying, retvalue boolean)
RETURNS SETOF boolean AS
$BODY$
declare
iVal numeric;
gVal numeric;
begin
IF fieldInputValue != ' ' AND operator!='equal' THEN
gVal := value :: numeric;
iVal := fieldInputValue:: numeric;
IF (operator = ('lesserThan') AND iVal < gVal) THEN
retValue= true;
ELSIF (operator = ('greaterThan') AND iVal > gVal) THEN
retValue= true;
ELSIF (operator = ('lessOrEqual') AND iVal <= gVal) THEN
retValue= true;
ELSIF (operator = ('greaterOrEqual') AND iVal >= gVal) THEN
retValue= true;
ELSIF (operator = ('equal') AND value = (fieldInputValue)) THEN
retValue= true;
ELSE
retValue= false;
END IF;
ELSIF (operator=('equal') AND value=(fieldInputValue)) THEN
retValue= true;
ELSE
retValue= false;
END IF;
return next retValue;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION getoperatordetails(character varying, character varying, character varying, boolean)
OWNER TO postgres;
結果を True (または) False にする必要があります
エラー: AND の引数はセットを返してはいけません
LINE 1: SELECT retValue AND getoperatordetails(value, operator, fiel...)