0

我正在使用plpgsql来执行此操作,但出现错误

记录类型尚未注册

这很简单

declare
  myrecord RECORD;
begin
  SELECT myrow as "myrow" INTO myrecord FROM (SELECT 1, 2);
  INSERT INTO mytable(col1,col2)
  VALUES (myrecord.*);
end;

可以请任何人帮忙吗?我的 postgres 版本是 8.4

4

1 回答 1

0

有两种有效的方法可以做到这一点。第一个是:

begin
  INSERT INTO mytable(col1,col2)
  VALUES (1, 2);
end;

第二个是:

begin
  INSERT INTO mytable(col1,col2)
  SELECT 1, 2;
end;

自然,这些不需要在 pl/pgsql 块中。

顺便说一句,在 psql 工具中,您可以\h insert获取有效插入表单的列表。这些是手册中的概要,这是使该工具如此有用的一件事。

于 2013-03-23T01:18:45.500 回答