`
zhtch_123
  • 浏览: 84738 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Postgresql存储样例

 
阅读更多
-- Function: wsn_dynamic_amount_power(character varying, character varying, integer, numeric)

-- DROP FUNCTION wsn_dynamic_amount_power(character varying, character varying, integer, numeric);

CREATE OR REPLACE FUNCTION wsn_dynamic_amount_power(app_id character varying, area_id character varying, node_id integer, data numeric)
  RETURNS boolean AS
$BODY$
DECLARE
node integer;
sensor_data numeric(8,0);
use_data numeric(8,0);
work_time numeric(8,0);
table_name1 varchar;
table_name2 varchar;
max_time time;
min_time time;
array_data varchar;
id integer;

BEGIN
table_name1 = 'app_' || app_id || '_area_' || area_id || '_generation_power';
table_name2 = 'app_' || app_id || '_area_' || area_id || '_use_power';

--RAISE NOTICE '%', curr_date;



IF node_id='30' OR node_id='31' OR node_id='32' THEN

/* RAISE NOTICE '%', table_name1; */

EXECUTE 'SELECT generation_power FROM '|| table_name1 ||' WHERE node_id= ' || node_id ||' AND receive_date='''|| current_date ||'''' INTO  sensor_data;
/*
RAISE NOTICE '%', sensor_data;
RAISE NOTICE '%',  data;
RAISE NOTICE '%', current_date;
*/
IF sensor_data IS NULL THEN

/* RAISE NOTICE '%', '11OK'; */

EXECUTE 'INSERT INTO '|| table_name1 || ' (node_id,receive_date,generation_power)
VALUES' || '(' ||
node_id || ',''' ||
current_date || ''',''' ||
data || ''')';

ELSE
sensor_data := sensor_data + data;
EXECUTE 'UPDATE ' || table_name1 || ' SET
generation_power=''' || sensor_data || '''
WHERE receive_date=''' || current_date || '''
AND node_id=' || node_id;

END IF;
END IF;

IF node_id='37' THEN

EXECUTE 'SELECT id,use_power FROM '|| table_name2 || ' WHERE node_id= ' || node_id || ' AND receive_date='''|| current_date ||'''' INTO  id,use_data;

IF id IS NULL THEN

/* RAISE NOTICE '%', '11OK'; */

EXECUTE 'INSERT INTO '|| table_name2 || ' (node_id,receive_date,use_power)
VALUES' || '(' ||
node_id || ',''' ||
current_date || ''',' ||
data || ')';

ELSE
use_data := use_data + data;
EXECUTE 'UPDATE ' || table_name2 || ' SET
use_power=''' || use_data || '''
WHERE receive_date=''' || current_date || '''
AND node_id=''' || node_id ||'''
AND id=''' || id || '''';

END IF;
END IF;

RETURN true;
END;

$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION wsn_dynamic_amount_power(character varying, character varying, integer, numeric) OWNER TO wsn;
分享到:
评论

相关推荐

    SQL学习指南数据库样例

    `这将在你的数据库管理系统(如MySQL、PostgreSQL等)中创建一个名为“School”的空数据库。 2. **数据导入**: 描述中提到的"source 你的文件路径"语句,是用来导入.sql文件中的SQL指令到当前激活的数据库。这些...

    阿里云 专有云Enterprise版 HybridDB for PostgreSQL V3.3.0 产品简介

    * 企业级数据库应用:HybridDB for PostgreSQL能够满足企业级数据库应用的需求,提供了高效、稳定、安全的数据存储和管理解决方案。 * 高性能计算:HybridDB for PostgreSQL能够满足高性能计算的需求,提供了高速的...

    PostgreSQL9.4手册

    PostgreSQL是一款开源的对象-关系数据库系统(ORDBMS),它是一个功能强大的数据库管理系统,其特点包括支持复杂查询、外键、触发器、视图、事务完整性及存储过程等。PostgreSQL9.4手册是该数据库管理系统的一个版本...

    论坛代码样例

    3. **数据库设计**:论坛需要存储用户信息、帖子、评论等数据,MySQL、PostgreSQL等关系型数据库常被用作后端数据存储。为了提高查询性能,可能还会涉及到数据库索引、缓存策略等。 4. **用户认证与授权**:OAuth...

    阿里云 专有云企业版 V3.5.2 HybridDB for PostgreSQL 用户指南 - 20180831.pdf

    通用约定部分中,阿里云提供了格式说明样例,包括警示信息、警告、注意、说明等,旨在帮助用户快速了解和理解 HybridDB for PostgreSQL 的使用方法和注意事项。 快速开始部分中,阿里云提供了快速开始使用 HybridDB...

    阿里云 专有云企业版 V3.7.1 HybridDB for PostgreSQL 运维指南 20190125.pdf

    1. HybridDB for PostgreSQL的系统架构包括数据库服务器、存储服务器、应用服务器等组件。 2. 数据库服务器负责存储和管理数据,存储服务器负责存储数据,应用服务器负责提供应用程序接口。 安装部署 1. 本文档...

    postgresql12-arm-glibc2.28.tar.gz

    PostgreSQL是一种开源的关系型数据库管理系统(RDBMS),在全球范围内广泛用于企业级数据存储和管理。其特点包括强大的SQL支持、事务一致性、多版本并发控制(MVCC)以及丰富的数据类型。PostgreSQL以其稳定性和安全...

    数据库原理 - 教学管理样例数据库.zip

    该数据库以.zip格式压缩包提供,解压后包含完整的数据库结构文档、SQL脚本(用于创建数据库、表、视图、索引及存储过程等)、示例数据以及可能的查询示例。用户可以根据文档指引,在支持的数据库管理系统(如MySQL、...

    graph_in_postgresql:PostgreSQL数据库中的图形实现

    在PostgreSQL中构建图形数据模型,可以通过创建节点表(代表图中的节点)和边表(代表连接节点的边)来实现,同时存储边的属性以提供额外的信息。 TSQL(Transact-SQL)是SQL的一种方言,主要应用于Microsoft SQL ...

    阿里云 专有云企业版 V3.5.2 HybridDB for PostgreSQL 运维指南 - 20180831.pdf

    9. 安全管理:阿里云专有云企业版HybridDB for PostgreSQL运维指南中关于安全管理的内容,包括访问控制、身份验证、加密存储等。 10. 性能优化:阿里云专有云企业版HybridDB for PostgreSQL运维指南中关于性能优化...

    web项目样例

    4. **数据库管理**:项目可能使用MySQL、PostgreSQL、MongoDB等关系型或非关系型数据库存储数据,涉及到SQL查询、ORM(对象关系映射)工具如Hibernate、MyBatis等。 5. **服务器配置**:可能包含服务器部署相关的...

    web项目数据库连接样例

    在开发Web应用程序时,数据库连接是至关重要的环节,它使得应用程序能够存储、检索和更新数据。本示例将深入探讨如何在Web项目中建立数据库连接,以实现高效的数据交互。 一、数据库连接基础 数据库连接是指Web...

    学生考勤管理系统样例

    3. 数据库:MySQL或PostgreSQL作为关系型数据库,存储用户信息和考勤数据。 4. 安全性:采用HTTPS协议确保数据传输的安全,同时使用JWT(JSON Web Tokens)进行用户身份验证。 四、未来发展 1. 教师管理:添加...

    PostGIS&PostSQL完整安装包.rar

    PostGIS是PostgreSQL的一个扩展,为数据库添加了处理地理和几何对象的能力,使得存储、查询和分析空间数据变得可能。下面将详细介绍这两个技术以及如何进行安装。 PostgreSQL,通常简称为Postgres,是一款强大的...

    GeoTracker:样例项目

    4. **数据库集成**:为了存储和检索位置数据,项目可能整合了数据库技术,如使用JDBC连接MySQL、PostgreSQL等关系型数据库,或者使用MongoDB等NoSQL数据库。 5. **GIS库**:为了地图显示和地理信息处理,GeoTracker...

    QT的一些应用程序实例QT.rar

    4. **Qt Database**: 提供了与各种数据库系统(如SQLite、MySQL、PostgreSQL等)交互的API,支持SQL查询,方便进行数据存储和检索。 5. **Qt Multimedia**: 支持音频和视频的播放、录制,包括音视频的解码、编码和...

    postgre7.4.2 manul

    - **1.2 Architectural Fundamentals**:这部分概述了PostgreSQL的架构基础,包括服务器-客户端模型、数据存储结构、缓存机制等。 - **1.3 Creating a Database**:这里将指导用户如何创建新的数据库,并设置相应...

    sql-basic-book:Gijutsu-Hyoronsha“ SQL入门指南”相关信息和示例代码与数据发布

    样例代码 本文档中描述SQL在各章中发布。 第十一章 环境建设技巧 本文档说明了如何使用VirtualBox构建PostgreSQL环境。以下文档介绍了如何使用Docker构建环境。 关于PostgreSQL环境构建 使用Docker准备PostgreSQL...

    Geoserver 中Postgis的应用入门

    - 使用 `createlang` 命令安装 PL/pgSQL 过程语言扩展,这是 Postgis 所必需的,因为它支持创建和使用存储函数等功能。 - 示例命令行:`C:\Program Files\PostgreSQL\8.2\bin>createlang -U username plpgsql mydb...

Global site tag (gtag.js) - Google Analytics