Postgresql添加/删除触发器示例
-- 定义触发器
CREATE TRIGGER "vss_after_insert_flow_201702" AFTER INSERT ON "public"."vss_passenger_flow_201702"
FOR EACH ROW
EXECUTE PROCEDURE "vss_after_insert_flow"();
--删除触发器
DROP TRIGGER vss_after_insert_flow_201702 ON vss_passenger_flow_201702 ;
--定义存储过程 -- FUNCTION: public.vss_after_insert_flow() -- DROP FUNCTION public.vss_after_insert_flow(); CREATE FUNCTION public.vss_after_insert_flow()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100.0
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
--Routine body goes here...
IF EXISTS(SELECT camera_id FROM vss_passenger_hour
WHERE camera_id = NEW.i_camera_id and datetime = NEW.start_dt::DATE and EXTRACT(hour FROM time) = EXTRACT(hour FROM NEW.start_dt::TIME)) THEN
UPDATE vss_passenger_hour
SET passenger_in_count = passenger_in_count + NEW.i_enter_num , passenger_out_count = passenger_out_count + NEW.i_leave_num
WHERE camera_id = NEW.i_camera_id and datetime = NEW.start_dt::DATE and EXTRACT(hour FROM time) = EXTRACT(hour FROM NEW.start_dt::TIME);
ELSE
INSERT INTO vss_passenger_hour(region_id,camera_id,datetime,time,passenger_in_count,passenger_out_count)
VALUES (NEW.i_area_id,NEW.i_camera_id,NEW.start_dt,to_timestamp(to_char(NEW.start_dt, 'yyyy-mm-dd HH24')||':00:00', 'yyyy-mm-dd HH24:MI:SS'),NEW.i_enter_num,NEW.i_leave_num);
END IF;
RETURN NULL;
END
$BODY$; ALTER FUNCTION public.vss_after_insert_flow()
OWNER TO postgres;
Postgresql添加/删除触发器示例的更多相关文章
- 百度地图API示例之添加/删除工具条、比例尺控件
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- mysql——触发器——示例
数据准备: ), d_id ), name ), age ), sex ), homeadd ) ); ,,,'nan','beijing'); ,,,'nv','hunan'); ,,,'nan', ...
- DHTMLX 前端框架 建立你的一个应用程序 教程(十一)--添加/删除表格中的记录
添加/删除表格中的记录 我们的最终功能是在表格中添加删除 我们通过单机工具栏上的按钮来实现添加删除 当我们单击添加按钮的时候, 表单中 第一行默认填写New contact 光标自动聚焦 当用户点击删 ...
- SQLServer之删除触发器
删除触发器 注意事项 可以通过删除DML触发器或删除触发器表来删除DML触发器. 删除表时,将同时删除与表关联的所有触发器. 删除触发器时,会从 sys.objects.sys.triggers 和 ...
- 基于jQuery表格增加删除代码示例
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 问题:Oracle出发器;结果:1、Oracle触发器详解,2、Oracle触发器示例
ORACLE触发器详解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创 ...
- 如何恢复,迁移,添加, 删除 Voting Disks
如何恢复,迁移,添加, 删除 Voting Disks恢复流程 在11gR2 之前,我们可以直接直接使用dd命令对voting disk进行备份.DD示例 备份votedisk盘:[root@raw1 ...
- WPF下的Richtextbox中实现表格合并,添加删除行列等功能
.Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...
- 【PostgreSQL】PostgreSQL添加新服务器连接时,报错“Server doesn't listen ”,已解决。
PostgreSQL添加新的服务器连接时,报错:
随机推荐
- iphone app的非appstore发布方法及其免越狱安装方法
iphone app的非appstore发布方法及其免越狱安装方法 本文包含两项内容, 1.开发者如何将app导出为可供普通用户在外部安装的ipa文件. 2.用户使用itools来安装ipa格式的 ...
- 【转载】Hibernate之hbm.xml集合映射的使用(Set集合映射,list集合映射,Map集合映射)
https://www.cnblogs.com/biehongli/p/6555994.html
- 在java项目中使用 Lombok 及可能问题
一.Maven项目使用步骤一般包含两步,1)引入依赖 2)特定的 IDE 引入对应的插件 1)在POM中引入依赖 <!-- https://mvnrepository.com/artifact/ ...
- hive元数据研究
hive的元数据存放在关系型数据库中,元数据中存储了hive中所有表格的信息,包括表格的名字,表格的字段,字段的类型,注释.这些信息分散的存放在各个表中,给定一个hive中的表格名字,查询这个表中含有 ...
- 怎么运行 ASP.NET Core控制台程序
aspnet test.dll
- CentOS中安装JAVA环境
好消息, 程序员专用早餐机.和掌柜说 ideaam,可以节省20元. 点击链接 或復·制这段描述¥k3MbbVKccMU¥后到淘♂寳♀ 一般情况下,我们都要将linux自带的OPENJDK卸载掉, ...
- HBase随机读写
HDFS不太适合做大量的随机读应用,但HBASE却特别适合随机的读写 个人理解: 1.数据库一般都会有一层缓存,任何对数据的更改实际上是先更改内存中的数据.然后有异步的守护进程负责将脏页按照一定策略刷 ...
- 关于Java Webproject中web.xml文件
提及Java Webproject中web.xml文件无人不知,无人不识,呵呵呵:系统首页.servlet.filter.listener和设置session过期时限.张口就来,但是你见过该文件里的e ...
- linux分区详解
点评:如果你想了解linux分区,请务必认真阅读本文.对于初学者来说,linux分区不像windows下那么一目了解. Linux 分区的规定 1. 设备管理 在 Linux 中,每一 ...
- Shiro系列(3) - What is shiro?
什么是shiro? Shiro是apache的一个开源权限管理的框架,它实现用户身份认证,权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架 使用shiro来实现权限管理,可以非常有效的提高 ...