如何插入一条记录到表
问题描述:
我使用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
答
有两种有效的方法可以做到这一点。第一个是:
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
来获取有效的插入表单的列表。这些是手册中的synposes,这是使该工具非常有用的一件事。
+0
你似乎解决了这个问题,而不是问题。 目标正在使用记录。 – xsubira 2013-07-08 08:38:31
问题:INSERT INTO mytable(col1,col2)values(1,2)'?或者,如果**必须基于选择的INSERT INTO mytable(col1,col2) select 1,2'; – 2013-03-20 15:01:26
必须基于,导致样本不是真实的情况。 在真实情况下,记录是从查询中提取的。 我想保留查询输出的记录结构,而不是为INSERT语句使用查询本身。 – xsubira 2013-03-20 17:29:43