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。那有帮助