从postgresql中的记录类型中获取变量

时间:2017-04-06 13:43:17

标签: postgresql plpgsql

我有来自触发器的记录类型变量new。 我可以从此记录中获取变量,而不是文本表示。 例如:
create table test(x int, y varchar);
insert into test values (1, 'test_var');
如果我得到new.*
 我明白了 (1, test_var)
是否有选项获得这样的记录 (1, 'test_var')
谢谢。 抱歉错误,英语不是我的基本语言。

1 个答案:

答案 0 :(得分:0)

您应该使用积分符号recordvarfield。在PostgreSQL文档中有很多examples

create table test(x int, y varchar);
create or replace function trig_fx()
returns trigger as $$
begin
  raise notice '<<%>> <<%>>', new.x, new.y;
  return new;
end;
$$ language plpgsql;

create trigger trig before insert on test 
  for each row execute procedure trig_fx();

postgres=# insert into test values(1, 'test var');
NOTICE:  <<1>> <<test var>>
INSERT 0 1