谁能帮我把这个oracle触发器改成postgreSQL的 谢谢
原oracle触发器脚本
建表语句
实现功能是每当t_racktemphum执行插入时,就更新T_RACKTEMPHUM_UPDATED表sensorid相等的记录,如果没有做插入,有就做更新
create or replace trigger TIB_T_RACKTEMPHUM_UPDATED
after insert on t_racktemphum
for each row
declare
v_count int;
-- local variables here
begin
select count(*) into v_count from T_RACKTEMPHUM_UPDATED where sensorid=:new.sensorid;
if v_count>0 then
update T_RACKTEMPHUM_UPDATED set temp=:new.temp,humid=:new.humid,collecttime=:new.collecttime
where sensorid=:new.sensorid;
else
insert into T_RACKTEMPHUM_UPDATED values (:new.sensorid,:new.temp,:new.humid,:new.collecttime);
end if;
end TIB_T_RACKTEMPHUM_UPDATED;
建表语句
CREATE TABLE "public"."t_racktemphum" (
"id" numeric DEFAULT NULL NOT NULL,
"sensorid" numeric(10) DEFAULT NULL::numeric,
"temp" numeric(8,2) DEFAULT NULL::numeric,
"humid" numeric(8,2) DEFAULT NULL::numeric,
"collecttime" timestamp(6) DEFAULT NULL::timestamp without time zone,
CONSTRAINT "t_racktemphum_pkey" PRIMARY KEY ("id"),
CONSTRAINT "t_racktemphum_id_check" CHECK (id IS NOT NULL),
CONSTRAINT "t_racktemphum_id_check1" CHECK (id IS NOT NULL)
)
WITH (OIDS=FALSE)
;
ALTER TABLE "public"."t_racktemphum" OWNER TO "postgres";
COMMENT ON TABLE "public"."t_racktemphum" IS '机柜温湿度采集表';
COMMENT ON COLUMN "public"."t_racktemphum"."id" IS '流水号';
COMMENT ON COLUMN "public"."t_racktemphum"."sensorid" IS '传感器编号';
COMMENT ON COLUMN "public"."t_racktemphum"."temp" IS '温度';
COMMENT ON COLUMN "public"."t_racktemphum"."humid" IS '湿度';
COMMENT ON COLUMN "public"."t_racktemphum"."collecttime" IS '采集时间';;
实现功能是每当t_racktemphum执行插入时,就更新T_RACKTEMPHUM_UPDATED表sensorid相等的记录,如果没有做插入,有就做更新
...全文
相关推荐
oracle迁移到PostgreSQL社区代码
**触发器和存储过程**:"oracle_fdw"可能不支持直接执行Oracle的PL/SQL代码,因此原有的触发器和存储过程需要在PostgreSQL中重新编写。
postgresql 兼容 oracle 函数
然而,全面的兼容性不仅限于函数层面,还需要考虑SQL语法、存储过程、触发器、索引、分区表等方面,这需要根据实际情况进行深入研究和规划。
oracle移植到postgreSQL
**数据和架构迁移**:ora2pg能够扫描Oracle数据库,生成包含表结构、索引、触发器、视图、存储过程和其他对象的SQL脚本,这些脚本可以用于在PostgreSQL中重建相同的架构。
Oracle至PostgreSQL数据库迁移方案.pptx
"Oracle至PostgreSQL数据库迁移方案" Oracle至PostgreSQL数据库迁移方案是使用Ora2PG工具实现的,该工具是一个Perl语言编写的开源工具,用于将Oracle或MySQL
Oracle向PostgreSQL移植实例
- PostgreSQL中的字段长度定义只接受数字,不接受BYTE单位。5. **序列**: - Oracle的序列在PostgreSQL中没有直接对应物,但可以通过创建序列和触发器来实现类似功能。


