Postgresql 将UUID作为输入参数传递给触发器函数-Postgres 11.5
我有一张这种格式的桌子Postgresql 将UUID作为输入参数传递给触发器函数-Postgres 11.5,postgresql,Postgresql,我有一张这种格式的桌子 CREATE TABLE Responses ( Responseid uuid NOT NULL, Response jsonb NOT NULL, createdtime timestamp NOT NULL ); 响应ID由uuid_generate函数生成。我想在这个表上创建一个触发器函数,如下所示 CREATE OR REPLACE FUNCTION get_Response() RETURNS TRIGGER AS $get_Re
CREATE TABLE Responses (
Responseid uuid NOT NULL,
Response jsonb NOT NULL,
createdtime timestamp NOT NULL
);
响应ID由uuid_generate函数生成。我想在这个表上创建一个触发器函数,如下所示
CREATE OR REPLACE FUNCTION get_Response() RETURNS TRIGGER AS $get_Response$
DECLARE
ResponseName VARCHAR(100);
BEGIN
select into ResponseName Response->>'ResponseName'
from Responses
where Responseid =uuid;
IF (ResponseName = 'ABC') then
-----------
elseif (ResponseName = 'ABC') then
------------------
END IF;
RETURN NULL;
END;
$get_Queue_Info$ LANGUAGE plpgsql;
CREATE TRIGGER get_Response
AFTER INSERT ON Responses
FOR EACH ROW EXECUTE FUNCTION get_Response();
您能否建议如何将uuid传递到函数中您可以使用
NEW
关键字访问最新值。要获取Responseid
字段,可以使用NEW.Responseid
选择进入ResponseName响应->>“ResponseName”
从回应中
其中Responseid=NEW.uuid;
但由于您可以访问整个记录,因此不需要重新选择它。您可以直接查询响应
字段
选择进入ResponseName新建。响应->>“ResponseName”
非常感谢@JGH。那有帮助