oracle for循环示例(for in loop)
2022/6/25 2:21:04
本文主要是介绍oracle for循环示例(for in loop),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
CREATE OR REPLACE PROCEDURE "PRO_ADATA_CHECK_TABLE2"( IN_ORG_CODE VARCHAR2, IN_BATCH_CODE VARCHAR2, OUT_TABLENAME OUT VARCHAR2 ) IS --设置变量 V_COUNT NUMBER DEFAULT 0; --数据量 V_COUNT_SQL VARCHAR2(500); --查询全部语句 V_TABLE_NAME_STR VARCHAR2(500); -- 不存在库中的表名 BEGIN -- 根据当前机构查询出需要验证的表,循环查一下这些表是否在库中存在 FOR j IN (SELECT T.TABLENAME FROM META_ORG_TABLE T WHERE T.ORGCODE = IN_ORG_CODE ) LOOP V_COUNT_SQL :='SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = UPPER(:1)'; EXECUTE IMMEDIATE V_COUNT_SQL INTO V_COUNT USING j.TABLENAME; IF V_COUNT = 0 --即表不存在,插入到日志表中 THEN INSERT INTO ZYK_DATE_CHECK ( ID, ORGCODE, TABLE_NAME, DATA_NUM, CHECK_DATE, BATCH_CODE, REMARK ) VALUES ( SEQ_ZYK_DATE_CHECK.NEXTVAL , IN_ORG_CODE, j.TABLENAME, 0, SYSDATE, IN_BATCH_CODE, '此表不存在库中!' ); COMMIT; IF V_TABLE_NAME_STR IS NULL THEN V_TABLE_NAME_STR := j.TABLENAME; ELSE V_TABLE_NAME_STR := V_TABLE_NAME_STR || ';' || j.TABLENAME; dbms_output.put_line(V_TABLE_NAME_STR); END IF; END IF; END LOOP; OUT_TABLENAME := V_TABLE_NAME_STR; END PRO_ADATA_CHECK_TABLE;
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
- 个人主页
- oracle 存储过程 调用动态sql
- oracle 存储过程 示例
这篇关于oracle for循环示例(for in loop)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Nacos多环境配置学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos配置中心学习入门指南
- 2024-12-27Nacos配置中心学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos初识学习入门:轻松掌握服务发现与配置管理
- 2024-12-27Nacos初识学习入门:轻松掌握Nacos基础操作
- 2024-12-27Nacos多环境配置学习入门