错误:SQL函数在PostgreSQL中无法返回类型触发器

qxgroojn  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(2)|浏览(185)

我使用PostgreSQL和pgAdmin,我不能得到一个触发器功能工作。然而,据我所知,你可以返回类型触发器在PostgreSQL?

CREATE OR REPLACE FUNCTION validate_Cat() 
  RETURNS TRIGGER AS 
$BODY$
BEGIN
  -- CODE here
END;
$BODY$
LANGUAGE SQL;
    
CREATE TRIGGER validate_Cat
AFTER INSERT OR UPDATE ON Category
FOR EACH ROW execute procedure validate_Cat();

字符串

qqrboqgw

qqrboqgw1#

已解决,不得不将语言更改为PLPGSQL

vsmadaxz

vsmadaxz2#

下面是同样的错误:
错误:SQL函数无法返回类型触发器
当我尝试使用LANGUAGE SQL创建触发器函数时,如下所示:

CREATE FUNCTION my_func() RETURNS trigger
LANGUAGE SQL -- Here
AS $$
$$;

字符串
但是,我可以用LANGUAGE plpgsql创建触发器函数而不会出错,如下所示:

CREATE FUNCTION my_func() RETURNS trigger
LANGUAGE plpgsql -- Here
AS $$
BEGIN
END;
$$;


另外,我得到了下面的错误:
错误:SQL函数无法返回类型event_trigger
当我尝试使用LANGUAGE SQL创建事件触发器函数时,如下所示:

CREATE FUNCTION my_func()
RETURNS event_trigger
LANGUAGE SQL -- Here
AS $$
$$;


但是,我可以用LANGUAGE plpgsql创建事件触发器函数而不会出错,如下所示:

CREATE FUNCTION my_func()
RETURNS event_trigger
LANGUAGE plpgsql -- Here
AS $$
BEGIN
END;
$$;

相关问题