Postgresql中的Create运算符
有人知道如何在postgresql中调用自定义运算符吗Postgresql中的Create运算符,postgresql,Postgresql,有人知道如何在postgresql中调用自定义运算符吗 我有以下接线员: CREATE OR REPLACE FUNCTION algo.fun_temp(IN exp BOOLEAN) RETURNS INTEGER AS $$ BEGIN RETURN NOT exp; END; $$ LANGUAGE plpgsql; CREATE OPERATOR algo.~ ( PROCEDURE = algo.fun_temp, RIGHTARG = BOOLEAN ); 当我试图用S
我有以下接线员:
CREATE OR REPLACE FUNCTION algo.fun_temp(IN exp BOOLEAN)
RETURNS INTEGER AS $$
BEGIN
RETURN NOT exp;
END;
$$ LANGUAGE plpgsql;
CREATE OPERATOR algo.~
(
PROCEDURE = algo.fun_temp,
RIGHTARG = BOOLEAN
);
当我试图用SELECT algo.~TRUE
调用该操作员时,客户机会抱怨
"ERROR: syntax error at or near "~"
LINE 1: SELECT algo.~ TRUE"
有人知道问题出在哪里吗?感谢您的帮助
cheng函数应该返回
整数
,您编写的返回布尔值
:
CREATE OR REPLACE FUNCTION algo.fun_temp(IN exp BOOLEAN)
RETURNS INTEGER AS $$
BEGIN
RETURN (NOT exp)::INTEGER;
END;
$$ LANGUAGE plpgsql;
然后将模式algo
添加到搜索路径中:
SET search_path = public, algo;
函数应该返回整数
,您编写的函数返回布尔值
:
CREATE OR REPLACE FUNCTION algo.fun_temp(IN exp BOOLEAN)
RETURNS INTEGER AS $$
BEGIN
RETURN (NOT exp)::INTEGER;
END;
$$ LANGUAGE plpgsql;
然后将模式algo
添加到搜索路径中:
SET search_path = public, algo;