千家信息网

PG存储过程是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"PG存储过程是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"PG存储过程是什么"吧!-- 删除函数drop function
千家信息网最后更新 2026年11月02日PG存储过程是什么

这篇文章主要讲解了"PG存储过程是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"PG存储过程是什么"吧!

-- 删除函数drop function if exists upgrade_task_device(integer);create or replace function upgrade_task_device(exec_way integer)    returns integer as$$declare    cron_prefix     varchar default '0 */';    cron_suffix     varchar default ' * * * ?';    cron_period     varchar;    tmp_cron_period integer;    cron_exp        varchar default '';    cur_row         record;    ret             integer default 0;    task_cursor cursor (exec_way integer) for select t.*                                              from task t                                              where t.execution_way = exec_way;begin    -- task表如果 time_period > 59,设值为59    update task set time_period = 59 where time_period is not null and time_period > 59;    open task_cursor(exec_way);    loop        fetch task_cursor into cur_row;        exit when not FOUND;        -- 定时执行|立即执行        if cur_row.execution_way = 1 or cur_row.execution_way = 2 then            update task_device            set task_type     = cur_row.task_type,                task_name     = cur_row.task_name,                retry         = cur_row.retry,                start_time=cur_row.start_time,                end_time=cur_row.end_time,                -- 执行方式全部更改为'周期执行'                execution_way = 3,                create_user_id=cur_row.create_user_id            where task_id = cur_row.id              and time_rule is null;        elsif cur_row.execution_way = 3 then            -- 周期执行            tmp_cron_period = cur_row.time_period;            if tmp_cron_period > 59 then                tmp_cron_period = 59;            end if;            -- 转换为字符串进行拼接            cron_period = TRIM(to_char(tmp_cron_period, '99'));            -- cron 拼接            cron_exp = cron_prefix || cron_period || cron_suffix;            update task_device            set task_type     = cur_row.task_type,                task_name     = cur_row.task_name,                retry         = cur_row.retry,                start_time=cur_row.start_time,                end_time=cur_row.end_time,                time_rule=cron_exp,                -- 执行方式全部更改为'周期执行'                execution_way = 3,                create_user_id=cur_row.create_user_id            where task_id = cur_row.id              and time_rule is null;        end if;    end loop;    close task_cursor;    ret = 1;    return ret;end;$$ language plpgsql;-- 分别处理定时执行、周期执行、立即执行select upgrade_task_device(1);select upgrade_task_device(2);select upgrade_task_device(3);-- 删除函数drop function if exists upgrade_task_device(integer);

感谢各位的阅读,以上就是"PG存储过程是什么"的内容了,经过本文的学习后,相信大家对PG存储过程是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

过程 存储 周期 学习 内容 函数 方式 字符 字符串 就是 思路 情况 文章 更多 知识 知识点 篇文章 跟着 问题 实践 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 为想互联网科技怎么样 中关村互联网科技集团 互联网科技巨头监管 为想互联网科技 凡科互联网科技 互联网科技美容 哈尔滨秒房互联网科技有限公司 贵州叶脉互联网科技有限公司所属行业 晓花互联网科技有限公司网址 互联网科技与大数据专业 洛阳昕诺飞互联网科技有限公司 呼和浩特新华互联网科技学院 互联网科技人工智能实验室 深圳市罗太互联网科技有限公司 沐思想互联网科技有限公司 广州富喜互联网络科技 有人说阿里系是互联网科技企业 恒生科技指数 中概互联网 长沙易易互联网科技有限公司 恒生互联网科技趋势 上海喔噻互联网科技有限公司 网络科技有限互联网 中国互联网科技发展 搜狐科技互联网 合肥互联网科技公司公章图片 怎样加入科技互联网 互联网科技包装股份有限公司上市 广西科技产业互联网是什么 长沙易易互联网科技有限公司 颐高云石互联网科技
0