【发布时间】:2012-03-07 18:48:21
【问题描述】:
我在 Windows 上使用 PostgreSQL 9.1。
我正在自动将数据从机器收集到 PostgreSQL 数据库中,并且工作正常。数据被保存在几个表中,我感兴趣的一个叫做testrecord。我有第二个名为testcode 的静态表和表之间的连接。我想选择testrecord 中的一些传入数据并填充一个名为finaldata 的新表,其中parameter 和testid 匹配,它不是空白(空)。
问题 1
INSERT INTO 和 JOIN 是最好的方法吗?
问题 2
目前所有的字段都是varchar。当我添加一个整数字段时
在表finaldata(如自动递增串行)我得到
column "FdataID" is of type integer but expression
is of type character varying 或 column "FdataID" is of type integer
but expression is of type record 等消息
我的函数代码如下:
INSERT INTO finaldata
SELECT
"testrecord"."Record",
"testrecord"."Sample",
"testrecord"."SampleOrig",
"testrecord"."Parameter",
"testrecord"."Result",
"testrecord"."ResultOrig",
"testrecord"."Units",
"testrecord"."OperatorID",
"testrecord"."ObsTime",
"testrecord"."MsgTime",
"testcode"."Machine",
"testcode"."TestName",
"testcode"."ShortTestName",
"testcode"."TestID"
FROM testrecord
LEFT OUTER JOIN testcode
ON ("testrecord"."Parameter" = "testcode"."Parameter")
AND ("testrecord"."Machine" = "testcode"."Machine")
WHERE ("testcode"."TestID") IS NOT NULL;
【问题讨论】:
标签: postgresql triggers postgresql-9.1