Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql中的Create运算符_Postgresql - Fatal编程技术网

Postgresql中的Create运算符

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

有人知道如何在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
);
当我试图用
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;