反转postgres中的列

TejusN

所以我在SQL Server中有一个表定义为

create table test(value varchar(200), Reverse(value) as valueReverse);

现在,当我在此表中插入某些内容时,可以说我插入了字符串hello,它会将值存储在表中。

value | valueReverse
--------------------
hello | olleh

我正在尝试将表转换为PostgreSQL,但是reverse()函数不起作用,并且给了我错误。在postgres中创建此表的正确方法是什么?

阿基列什·米什拉

对于PostgreSQL 12及更高版本

如果您使用的是Postgres 12或更高版本,则可以GENERATED ALWAYS AS用于以valueReverse下列:手册

create table test(value varchar(200),
valueReverse varchar(200) generated always as (reverse(value)) STORED );

演示

对于PostgreSQL 11或更低版本

对于早期版本,您可以使用Triggers如下所示。

创建触发功能

create or replace function trig_reverse() returns trigger as
$$
begin
new.valueReverse=reverse(new.value);
return new;
end;
$$
language plpgsql

创建触发器

create trigger trig_rev 
before insert or update on test 
for each row 
execute procedure trig_reverse();

演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章