本文介绍了使用 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 子句进行变量赋值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!