getoperatordetails
在 postgresql 数据库中创建存储过程。
在另一个存储过程中获取三个参数,但它会导致错误,避免错误并将得到结果 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 的参数不能返回一个集合
第 1 行:SELECT retValue AND getoperatordetails(value, operator, fiel...)