我的编程空间,编程开发者的网络收藏夹
学习永远不晚

postgresql动态游标使用案例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

postgresql动态游标使用案例

CREATE or REPLACE FUNCTION insert_p_date() RETURNS text as ```

$$
DECLARE
sql_string text;
sdate timestamp without time zone;
ldate timestamp without time zone;
_wtid integer;
--一段时间内每个月第一天
cur1 cursor for select date(zz) from generate_series(date_trunc('month',to_date('20171001','yyyymmdd')),date_trunc('month',to_date('20180401','yyyymmdd')),'1 month') as tt(zz);
curs2 refcursor;
BEGIN
--打开
open cur1;
loop
fetch cur1 into sdate;
-- 假如没有数据,结束循环
Exit when NOT found;
--一段时间内的最后一个月的最后一天
select (date_trunc('month',sdate) + INTERVAL '1 MONTH - 1 day') into ldate;
--上个月最后一天
--select date_trunc('day', date_trunc('month',sdate)) - interval '1 day' into ldate;
--断点抛出一个月第一天
raise notice 'sdate==================================================================%', sdate;
--定义一个月内的内的所有单台设备
open curs2 for select distinct wtid from statisticdata_bak where rectime between sdate and ldate;
loop
--取记录
fetch curs2 into _wtid;
-- 假如没有检索到数据,结束循环
Exit when NOT found;
--抛出设备信息
raise notice '_wtid=%', _wtid;
--执行数据导入按照设备每个月
sql_string := 'insert into statisticdata select * from statisticdata_bak where wtid='||_wtid||' and rectime between '''||sdate||''' and '''||ldate||''';';
execute sql_string;
raise notice '执行完成=%', _wtid;
end loop;
close curs2;
end loop;
--关闭游标1
close cur1;

--返回结果
RETURN '导入成功!';
END;
$$
LANGUAGE plpgsql;

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

postgresql动态游标使用案例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle动态游标如何使用

动态游标是一种可以在运行时根据条件选择不同查询结果的游标。在Oracle中,可以使用PL/SQL语言来创建和使用动态游标。下面是一个使用动态游标的示例代码:```sqlDECLARETYPE emp_curtype IS REF CURSO
2023-08-24

MYSQL 游标学习及使用实例

who?(游标是什么?)游标(cursor)官方定义:是系统为用户开通的一个数据缓冲区,存放sql执行结果。每个游标区都有一个名字,用户可以通过sql语句逐一从游标中获取记录,并赋值给变量,交由主语言进一步处理;个人理解:感觉游标和指针相似,指定结果集后一行行
2015-05-28

使用docker compose启动postgresql的示例代码

目录引言创建初始化 SQL 脚本文件:更新 docker Compose 配置:启动 PostgreSQL 容器:引言要在启动 Postgr编程网eSQL 容器时执行特定的初始化文件,可以使用 Docker 的 docker-entryp
使用docker compose启动postgresql的示例代码
2024-10-16

使用MyBatis如何动态调用SQL标签

今天就跟大家聊聊有关使用MyBatis如何动态调用SQL标签,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、动态SQL片段通过SQL片段达到代码复用