达梦数据库存储过程

根据网上语法自学写的存储过程,使用的是DBeaver工具,但是调试过程太痛苦,也不清楚为什么有时候改了报错或者没生效。

注意点:

1.如果怀疑没生效或者不对,可以建个临时表每次往里面插不同数据确认代码是否最新。

2.不知道怎么调试或者输出信息也可以往临时表写入。

3.达梦如果是非自增长的,写法简单些。如果是自增长的,使用for循环隐形变量需要select所有需要的字段才能匹配上。

4.自增长的写入也把字段列全了,没有调查是否可以不写。

5.报错的内容应该是对的,但是行号不对。特别编译对象有问题,基本上不是语法问题,而是执行起来会有问题。

这个是有自增长的:

CREATE OR REPLACE PROCEDURE copyFLEX_SUBSIDY_SET_B(sourceTpye IN varchar2 ,sourceYear IN varchar2 , toType IN varchar2 ,toYear IN varchar2) AS
tempid number DEFAULT 0;--遍历游标
--CURSOR tempCur(tempTpye IN varchar2,tempYear IN varchar2) IS SELECT * FROM "FLEX_SUBSIDY_SET_B" WHERE "YEAR" =tempYear AND "SUBSIDY_TYPE"=tempTpye;
BEGIN--SELECT MAX(id) INTO tempid FROM  FLEX_SUBSIDY_SET_B;--清理历史数据DELETE FROM FLEX_SUBSIDY_SET_B WHERE "YEAR" =toYear AND "SUBSIDY_TYPE"=toType;--遍历查询数据--FOR tempdata IN tempCur(sourceTpye,sourceYear) loopFOR tempdata IN (SELECT id,"YEAR",SUBSIDY_TYPE,SET_ADMDVS,SUB_ADD_TYPE,QUOTA_BASIC_AMT,SUB_BASIC_AMT,SUB_BASIC_AMT_OV12,ARMY_SVC_PROP,ARMY_SVC_PROP_OV12,DED_BASIC_YEAR,DED_BASIC_YEAR_OV12,OT_RET_AMT,COMME_ADD_TYPE,COMME_ADD_L1,COMME_ADD_L2,COMME_ADD_L3,PAY_PROP,EXPRESS,BEGIN_TIME,END_TIME,VALID_FLAG,CREATE_TIME,UPDATE_TIME,DED_DESC,PAY_BASIC_DESC FROM FLEX_SUBSIDY_SET_B WHERE "YEAR" =sourceYear AND SUBSIDY_TYPE=sourceTpye) loop--插入数据tempid := tempid+1;INSERT INTO FLEX_SUBSIDY_SET_B("YEAR",SUBSIDY_TYPE,SET_ADMDVS,SUB_ADD_TYPE,QUOTA_BASIC_AMT,SUB_BASIC_AMT,SUB_BASIC_AMT_OV12,ARMY_SVC_PROP,ARMY_SVC_PROP_OV12,DED_BASIC_YEAR,DED_BASIC_YEAR_OV12,OT_RET_AMT,COMME_ADD_TYPE,COMME_ADD_L1,COMME_ADD_L2,COMME_ADD_L3,PAY_PROP,EXPRESS,BEGIN_TIME,END_TIME,VALID_FLAG,CREATE_TIME,UPDATE_TIME,DED_DESC,PAY_BASIC_DESC) values(toYear,toType,tempdata.SET_ADMDVS,tempdata.SUB_ADD_TYPE,tempdata.QUOTA_BASIC_AMT,tempdata.SUB_BASIC_AMT,tempdata.SUB_BASIC_AMT_OV12,tempdata.ARMY_SVC_PROP,tempdata.ARMY_SVC_PROP_OV12,tempdata.DED_BASIC_YEAR,tempdata.DED_BASIC_YEAR_OV12,tempdata.OT_RET_AMT,tempdata.COMME_ADD_TYPE,tempdata.COMME_ADD_L1,tempdata.COMME_ADD_L2,tempdata.COMME_ADD_L3,tempdata.PAY_PROP,tempdata.EXPRESS,toYear||'0101',toYear||'1231',tempdata.VALID_FLAG,tempdata.CREATE_TIME,tempdata.UPDATE_TIME,tempdata.DED_DESC,tempdata.PAY_BASIC_DESC);end loop;
END;

这个是没有自增长的:


CREATE OR REPLACE PROCEDURE copyFLEX_SUBSIDY_SET_TEST(sourceTpye IN varchar2 ,sourceYear IN varchar2 , toType IN varchar2 ,toYear IN varchar2) AS
tempid number DEFAULT 0;--遍历游标
--CURSOR tempCur(tempTpye IN varchar2,tempYear IN varchar2) IS SELECT * FROM "FLEX_SUBSIDY_SET_B_test" WHERE "YEAR" =tempYear AND "SUBSIDY_TYPE"=tempTpye;
BEGINinsert into test_tab values(8,'p_test');--清理历史数据DELETE FROM FLEX_SUBSIDY_SET_B_test WHERE "YEAR" =toYear AND "SUBSIDY_TYPE"=toType;SELECT MAX(id) INTO tempid FROM  FLEX_SUBSIDY_SET_B_test;--遍历查询数据--FOR tempdata IN tempCur(sourceTpye,sourceYear) loopFOR tempdata IN (SELECT * FROM FLEX_SUBSIDY_SET_B_test WHERE "YEAR" =sourceYear AND SUBSIDY_TYPE=sourceTpye) loop--插入数据tempid := tempid+1;INSERT INTO FLEX_SUBSIDY_SET_B_test values(tempid,toYear,toType,tempdata.SET_ADMDVS,tempdata.SUB_ADD_TYPE,tempdata.QUOTA_BASIC_AMT,tempdata.SUB_BASIC_AMT,tempdata.SUB_BASIC_AMT_OV12,tempdata.ARMY_SVC_PROP,tempdata.ARMY_SVC_PROP_OV12,tempdata.DED_BASIC_YEAR,tempdata.DED_BASIC_YEAR_OV12,tempdata.OT_RET_AMT,tempdata.COMME_ADD_TYPE,tempdata.COMME_ADD_L1,tempdata.COMME_ADD_L2,tempdata.COMME_ADD_L3,tempdata.PAY_PROP,tempdata.EXPRESS,toYear||'0101',toYear||'1231',tempdata.VALID_FLAG,tempdata.CREATE_TIME,tempdata.UPDATE_TIME,tempdata.DED_DESC,tempdata.PAY_BASIC_DESC);end loop;
END;--EXEC VTPMS."copyFLEX_SUBSIDY_SET"('3','2023','2','2024');
--第一二参数是复制源和年度,第三次参数是复制目标和年度,一三参数:2是灵活就业!!!,3自主就业!!!,二四参数:年度如2024

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iZotope RX 10.4.2 mac激活版 音频修复和增强工具

iZotope RX 10 for Mac是一款专业的音频修复软件,旨在提供强大、精确的工具,让用户能够清晰、纯净地处理音频。以下是其主要功能和特点: 软件下载:iZotope RX 10.4.2 mac激活版下载 强大的降噪功能:iZotope RX 10采用了…

动态住宅IP可以用来注册亚马逊电商吗?

注册亚马逊店铺可以用动态IP,只要是独立且干净的网线就没问题,亚马逊规则要求一个IP地址只能出现一个亚马逊店铺,若使用不当会导致关联账户。所以现在非常多人使用指纹浏览器搭配代理IP 固定ip可以给我们的账户带来更多的安全,要知…

输电线路导线舞动在线监测装置:“舞动”不再!守护电网安全!

输电线路导线舞动会影响输电线路的运行安全,其影响因素主要包括以下几个方面: 1、风力影响:风力是导致输电线路导线舞动的主要原因之一。在风的激励下,会对导线施加较大的侧向压力,导线会随风摆动,发生扭转…

docker程序镜像的安装

目录 一、流程 二、总结 一、 流程 对文中脚本测试前提默认系统已安装docker docker程序部署命令脚本 加载已打包的docker程序 docker load < sto...p.tar创建网络 名称为c…m子网subnet 172.27.16.1/24网关gateway 172.27.16.254-d 指定网络驱动程序 docker network cre…

iOS17使用safari调试wkwebview

isInspectable配置 之前开发wkwebview的页面的时候一直使用safari调试&#xff0c;毕竟jssdk交互还是要用这个比较方便&#xff0c;虽说用一个脚本插件没问题。不过还是不太方便。 但是这个功能突然到了iOS17之后发现不能用了&#xff0c;还以为又是苹果搞得bug&#xff0c;每…

Skywalking trace UI页面中字段信息详解,包括端点、跨度类型和Peer

刚上手Skywalking的同学可能对 trace UI 页面信息中的字段信息不是很了解&#xff0c;在这里就给大家一一讲解&#xff0c;重点关注端点、跨度类型和Peer 服务 :服务的名称 实例&#xff1a;服务对应的实例 端点&#xff1a;端点(Endpoint) 对于特定服务所接收的请求路径, 如…

Word莫名其妙开启兼容模式将其永久取消的方法

这是因为Word模板文件被意外更改了 找到Word模板文件&#xff0c;目录在C:\Users\15976\AppData\Roaming\Microsoft\Templates 15976替换成你自己的用户名&#xff0c;不确定的就先点进C/Users看一看&#xff0c; AppData是隐藏文件夹&#xff0c;显示隐藏文件夹才能看见&am…

点餐APP开发需要用到的一些源代码

在数字化日益普及的今天&#xff0c;点餐APP已经成为人们日常生活的重要组成部分&#xff0c;从校园食堂到高级餐厅&#xff0c;从快餐外卖到定制化营养餐&#xff0c;点餐APP的多样性和便利性满足了不同用户的需求&#xff0c;本文将深入探讨在开发一款点餐APP时可能用到的源代…

Vim实战:使用 Vim实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

函数参数那些事 - JS

形参&#xff1f;实参&#xff1f; 形参&#xff1a;形式参数&#xff0c;函数声明时使用的参数&#xff0c;在调用时用于接收实参值的变量&#xff1b;实参&#xff1a;实际参数&#xff0c;函数调用时&#xff0c;以值传递的方式发送给形参&#xff0c;可以是任何数据。 注…

企业级大模型的护城河:RAG + 微调

围绕LLM的炒作是前所未有的&#xff0c;但这是有道理的&#xff0c;生成式 AI 有潜力改变我们所知道的社会。 在很多方面&#xff0c;LLM将使数据工程师变得更有价值——这令人兴奋&#xff01; 不过&#xff0c;向老板展示数据发现工具或文本到 SQL 生成器的炫酷演示是一回事…

CTF-WEB的知识体系

CTF概念 CTF是Capture The Flag的缩写&#xff0c;中文一般译作夺旗赛 CTF起源于1996年DEFCON全球黑客大会 DEFCONCTF是全球技术水平和影响力最高的CTF竞赛 竞赛模式 解题模式:解决网络安全技术挑战(即找到flag)&#xff0c;提交后获取相应分值。 攻防赛模式:要求找到其他队…

故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍源码设计参考资料效果一览 文章概述 故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab) 专栏介绍 订阅【故障诊断】专栏,不定期更新机器学习和深度学习在故障诊断中的应用;订阅

TWS耳机产品有哪些芯片?这就告诉你

随着时代发展&#xff0c;越来越多消费者开始追捧TWS耳机&#xff0c;相比其他耳机&#xff0c;TWS耳机轻便易带&#xff0c;小巧精密。为了满足TWS耳机这些特点&#xff0c;需要配备多种核心芯片&#xff0c;那么你知道有哪些芯片吗&#xff1f; 1、主控芯片主控芯片是TWS耳机…

[GN] 23种设计模式 —— 常见设计模式学习总结

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言创建型模式 —— 创建的艺术结构型模式 —— 组合的艺术适配器模式 -- 不兼容结构的协调对象适配器类适配器模式优缺点适用场景 组合模式 -- 树形结构的处理例子…

4. 网络安全基础与网络接入

4.1 实验一&#xff1a;访问控制列表配置实验 4.1.1 实验介绍 4.1.1.1 关于本实验 访问控制列表 ACL&#xff08;Access Control List&#xff09;是由一条或多条规则组成的集合。所谓规则&#xff0c;是指描述报文匹配条件的判断语句&#xff0c;这些条件可以是报文的源地址…

代码签名证书主要是用来做什么的?

代码签名证书是一种用于数字签名和验证软件代码的安全工具。它用于为软件开发者提供身份认证、数据完整性和代码真实性的机制&#xff0c;确保用户下载和安装的软件是来自可信的发布者&#xff0c;未经篡改并且没有潜在的恶意代码。 首先&#xff0c;代码签名证书可以提供身份认…

数据治理之法读书笔记

数据治理之法 一、数据基础设施 当今&#xff0c;世界正快速由工业经济时代迈向“数化万物、智化生存”的数字经济时代。 数据基础设施尚没有统一的概念。 从狭义上讲&#xff0c;数据基础设施是指支撑数据运转的相关软硬件资源&#xff0c;如数据中台、数据仓库、数据湖等…

npm 以组织为单位发布依赖包(@username/package-name、@org-name/package-name)

示例&#xff1a; ant-design/aliyun-theme ant-design/antd-theme-variable ant-design/charts // ...1. 注册组织 在官网注册相应的组织&#xff0c;npmjs.com 以个人账号登录。点击头像找到 Add Organization&#xff0c;填写相关信息&#xff0c;创建完成。 2. 发布 首…

【unity小技巧】unity3d创建和实现破碎打破物品,万物可破碎

文章目录 破碎插件可破碎的物品代码控制加入破坏力完结 破碎插件 关于物品破碎&#xff0c;其实之前已经分享过一个免费插件&#xff0c;如果没有碎片化的模型&#xff0c;可以选择使用这个插件&#xff1a; OpenFracture插件实现unity3d物体破裂和切割 可破碎的物品 代码控制…