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-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升