小编典典

使用RETURNING子句的变量值分配

sql

我尝试执行此操作,但这是语法错误,我在做什么错?

declare myid := insert into oameni values(default,'lol') returning id;

我的桌子:

create table oameni
(
 id   serial primary key,
 name varchar(10)
);

阅读 238

收藏
2021-05-16

共1个答案

小编典典

您需要在RETURNING中使用INTO子句来设置要返回到变量中的值:

DECLARE myid OAMENI.id%TYPE;

INSERT INTO oameni 
VALUES 
  (default,'lol') 
RETURNING id INTO myid;

您还需要指定变量的数据类型。我很高兴看到postgresql支持%TYPE和%ROWTYPE

2021-05-16