本文介绍了使用 RETURNING 子句进行变量赋值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试这样做,但这是一个语法错误,我做错了什么?

I try to do this, but it's a syntax error, what am I doing wrong?

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

我的桌子:

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

推荐答案

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

You need to use the INTO clause in the RETURNING to set the value being returned into your variable:

DECLARE myid OAMENI.id%TYPE;

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

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

You also need to specify the data type of your variable; I'm glad to see postgresql supports %TYPE and %ROWTYPE.

这篇关于使用 RETURNING 子句进行变量赋值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-27 04:02