CREATE FUNCTION
function_name(argument_1 data_type, argument_2 data_type, ...)
RETURNS return_data_type AS $$
BEGIN
-- function body
END; $$
LANGUAGE language;
示例:两个整数相乘的函数:
CREATE FUNCTION mul(a
integer, b integer)
RETURNS integer AS $$
BEGIN
RETURN a * b;
END; $$
LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION get_actors_who_played_role(role agtype)
RETURNS TABLE(actor agtype, movie agtype)
LANGUAGE plpgsql
AS $function$
DECLARE sql VARCHAR;
BEGIN
load 'age';
SET search_path TO ag_catalog;
sql := format('
SELECT *
FROM cypher(''imdb'', $$
MATCH (actor)-[:acted_in {role: %s}]->(movie:movie)
RETURN actor.name, movie.title
$$) AS (actor agtype, movie agtype);
', role);
RETURN QUERY EXECUTE sql;
END
$function$;
3条答案
按热度按时间ct2axkht1#
在Apache-AGE中,你可以像在PostgreSQL中一样创建自定义函数。
为此,您需要使用“CREATE FUNCTION”子句。一个简单的函数接受INTEGER并返回INTEGER的例子如下:
此函数接受INTERGER并返回其平方。所有的函数计算都在“SELECT”语句之后进行。例如,如果你想在找到它的平方后减去i,那么你将把它修改为:
7tofc5zh2#
Apache AGE支持PostgreSQL,因此我们可以使用与PostgreSQL相同的语法在Apache Age中创建自定义函数。
要创建自定义函数,我们使用CREATE语句。
示例:两个整数相乘的函数:
一旦创建了函数,我们就可以在SQL语句中使用它。
xytpbqjk3#
我找到了答案:
要使用age-query创建自定义函数,我们可以使用以下语法:
参考文件:https://age.apache.org/age-manual/master/advanced/plpgsql.html