请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 2298|回复: 5

存储过程遍历

[复制链接]

16

主题

21

帖子

173

积分

注册会员

Rank: 2

积分
173
发表于 2020-1-16 19:56:07 | 显示全部楼层 |阅读模式
需求达梦数据库,每个省份有对应的一张表,effective_11 ~ effective_65 差不多30多个表,里边存储的企业数据,现在要写一个存储过程,遍历查询这么多表并且求个数,最后以(地区code、数量)的方式插入到一个新表中!
新表字段(id,area_code,valid_num,create_time)


存储过程:
  1. AS        --声明地区数组        type vcode is table of varchar;        areaCodeARR vcode:=vcode('11','12','13','14','15','21','22','23','31','32','33','34','35',        '36','37','41','42','43','44','45','46','50','51','52','53','54','61','62','63','64','65');        numSql varchar;--求个数的sql        insertSql varchar;-- 各省的添加sql        totalSql varchar;-- 合计的sql        effNum integer := 0;--各省的有效个数        totalNum integer := 0;--合计BEGIN        for i in 1 .. areaCodeARR.count LOOP        -- 求各省的有效个数,并累加给合计        numSql :=' select count(1) from effective_'||areaCodeARR(i)||' where licence_type = 0';        execute immediate numSql into effNum;        totalNum := totalNum + effNum;        -- 一个省给LICENCE_VALID表添加一条记录        insertSql :='insert into LICENCE_VALID (AREA_CODE,VALID_NUM,CREATE_TIME)';        insertSql := insertSql || ' select * from (select '||areaCodeARR(i)||'0000 as AREA_CODE,count(1) as VALID_NUM,SYSDATE as CREATE_TIME';        insertSql := insertSql || ' from effective_'||areaCodeARR(i)||' where licence_type = 0)';        execute immediate insertSql;        end LOOP;        -- 最后添加合计        totalSql := 'insert into LICENCE_VALID (AREA_CODE,VALID_NUM,CREATE_TIME) values (''total'','||totalNum||',SYSDATE)';        execute immediate totalSql;        commit;END
复制代码
调用存储过程call  proc_effective();
查询刚插入的表结果如下:select * from licence_valid where create_time=‘2020-01-15’;

                                                                                                                                       
                                                    
  • 点赞                        1                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        lixianrich                                                                发布了4 篇原创文章 · 获赞 4 · 访问量 141                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:《深入理解MySQL主从原理32讲》推荐篇
下一篇:mySQL 错误 3167 - The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is di
回复

使用道具 举报

0

主题

11

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2020-1-22 21:27:39 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

16

帖子

346

积分

中级会员

Rank: 3Rank: 3

积分
346
发表于 2020-1-22 22:40:10 | 显示全部楼层
我看不错噢 谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

10

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2020-1-23 18:03:43 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

0

主题

15

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
发表于 2020-1-23 22:41:36 | 显示全部楼层
楼主,我太崇拜你了![www.12360.co]
社区不能没有像楼主这样的人才啊!
回复

使用道具 举报

0

主题

20

帖子

430

积分

中级会员

Rank: 3Rank: 3

积分
430
发表于 2020-1-24 17:19:42 | 显示全部楼层
这个帖子不回对不起自己![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-18 07:09 , Processed in 0.111813 second(s), 42 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表