所以我在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] 删除。
我来说两句