忙碌了几天写出来的oracle存储过程在作业中执行。

写的oracle存储过程如果有什么不好的地方大家指点指点。

oracle存储过程其中使用到游标嵌套、if、if嵌套、数据插入表、select插入表、退出游标循环。

CREATE OR REPLACE
PROCEDURE "ENTKK" AS
BEGIN DECLARE
one_val VARCHAR2();
ent_code NUMBER;
ENT_NAME VARCHAR2();
PRO_OP_TYPE VARCHAR2();
ENT_TYPE_NAME VARCHAR2();
EAT_TYPE VARCHAR2();
CGLX VARCHAR2();
LIC_ID VARCHAR2();
LIC_CODE VARCHAR2();
VALID_FROM_DATE DATE;
VALID_TO_DATE DATE;
COPY_COUNT NUMBER;
UNIT_ID VARCHAR2();
UNIT_IDNUM NUMBER;
LIC_STATE_ID VARCHAR2();
lic_state VARCHAR2();
LIC_ISSUE_TIME DATE;
SIGNER VARCHAR2();
LIC_ISSUE_AUTH VARCHAR2();
Guid VARCHAR2();
PRIL_NAME VARCHAR2();
JOB_ID VARCHAR2();
PER_ID VARCHAR2();
ENT_LEGAL_REP_ID VARCHAR2();
JOB_NAME VARCHAR2();
WORK_TYPE VARCHAR2();
PER_NAME VARCHAR2();
SEX VARCHAR2();
NATION_ID VARCHAR2();
NATION VARCHAR2();
CER_TYPE_ID VARCHAR2();
CER_TYPE_NAME VARCHAR2();
OFFICE_TEL VARCHAR2();
MOBILE VARCHAR2();
ENT_ID VARCHAR2();
REG_ADDR VARCHAR2();
AREA_CODE VARCHAR2();
REG_ADDR_POSTAL_CODE VARCHAR2();
ENT_EMAIL VARCHAR2();
ENT_PROPERTY_ID VARCHAR2();
ENT_PROPERTY_NAME VARCHAR2();
UNITE_CREDIT_NO VARCHAR2();
PK_IDZ VARCHAR2();
WORK_SCOPE VARCHAR2();
cursor var_one is SELECT PK_ID,LIC_ID,LIC_NO,FOOD_OPER_NAME,DOM,DOM_CODE,OPLOC,PRIL_NAME,PRIL_NO,POS TAL_CODE,FIX_TEL,FAX,EMAIL,PRO_OP_TYPE,
VAL_FROM,VAL_TO,COPY_NUM,ISS_AUTH,STATE,APPRO_DATE,EMP_NUM,HEALTH_EXAM_NUM, DINING_SEATS,ECO_NATURE,NET_OP,CENTRAL_KIT,TRANSPORT_DEPT,
NET_ADDR,ALLOW_PER,"STORAGE",AUTO_SELL,XYDM,IS_ENTITY_SHOP,IS_BULK_DELI_SAL E,IS_SINCE_WINE_SALE,PRO_OP_ITEM_DETAIL,ISS_AUTH_DETAIL,
PRO_OP_TYPE_DETAIL,CGLX,EAT_TYPE,IS_SCHOOL_CANT,LIC_STATE_ID FROM SP_JY_LIC_INFO WHERE ROWNUM< and FAX is null;
cursor var_two is SELECT PER_KIND,"TYPE","NAME",SEX,NATION,CER_TYPE,TEL,MOB_TEL from SP_JY_LIC_PER_INFO where lic_id= one_val; BEGIN for one_row in var_one LOOP
dbms_output.put_line('单程外层循环代码处');
one_val:= one_row.LIC_ID;
--获取各种值
ENT_NAME:=one_row.FOOD_OPER_NAME;
select count(*) into isdet from ENT_BASIC where ENT_NAME=ENT_NAMEZ;
if isdet= THEN
insert into AA(Name) VALUES(ENT_NAMEZ);
--不符合条件的退出return;
return;
end IF;
PRO_OP_TYPE:=one_row.PRO_OP_TYPE;
EAT_TYPE:=one_row.EAT_TYPE;
CGLX:=one_row.CGLX;
If PRO_OP_TYPE='' then
PRO_OP_TYPE := '';
ENT_TYPE_NAME := '某字符串';
Elsif PRO_OP_TYPE='' then
PRO_OP_TYPE := '' + CGLX;
if CGLX='' then
ENT_TYPE_NAME:='某字符串';
Elsif CGLX='' then
ENT_TYPE_NAME:='某字符串';
Elsif CGLX='' then
ENT_TYPE_NAME:='某字符串';
Elsif CGLX='' then
ENT_TYPE_NAME:='某字符串';
Else
ENT_TYPE_NAME:='某字符串';
PRO_OP_TYPE := '';
end if;
Elsif PRO_OP_TYPE='' then
PRO_OP_TYPE := '' + EAT_TYPE;
if EAT_TYPE='' THEN
ENT_TYPE_NAME := '某字符串';
Elsif EAT_TYPE='' THEN
ENT_TYPE_NAME := '某字符串';
Elsif EAT_TYPE='' THEN
ENT_TYPE_NAME := '某字符串';
ELSE
ENT_TYPE_NAME := '某字符串';
PRO_OP_TYPE := '';
end if;
End if;
LIC_ID:=one_row.LIC_ID;
LIC_CODE:=one_row.LIC_NO;
---9月 -
VALID_FROM_DATE:=to_date(one_row.VAL_FROM,'yyyy-MM-dd');
VALID_TO_DATE:=to_date(one_row.VAL_TO,'yyyy-MM-dd');
COPY_COUNT:=one_row.COPY_NUM;
UNIT_ID:=one_row.ISS_AUTH;
UNIT_IDNUM:="LENGTH"(UNIT_ID);
if UNIT_IDNUM= THEN
UNIT_ID := UNIT_ID+'';
ELSIF UNIT_IDNUM= THEN
UNIT_ID := UNIT_ID+'';
ELSIF UNIT_IDNUM= THEN
UNIT_ID := UNIT_ID+'';
END if;
LIC_STATE_ID:=one_row.STATE;
if LIC_STATE_ID='' THEN
LIC_STATE_ID := '';
lic_state := '某字符串';
ELSIF LIC_STATE_ID='' THEN
LIC_STATE_ID := '';
lic_state := '某字符串';
ELSIF LIC_STATE_ID='' THEN
LIC_STATE_ID := '';
lic_state := '某字符串';
end if;
LIC_ISSUE_TIME:=to_date(one_row.APPRO_DATE,'yyyy-MM-dd');
SIGNER:=one_row.ALLOW_PER;
LIC_ISSUE_AUTH:=one_row.ISS_AUTH_DETAIL;
PRIL_NAME:=one_row.PRIL_NAME;
Guid:=LOWER(RAWTOHEX(sys_guid()));
dbms_output.put_line(Guid);
--获取ENT_CODE
SELECT CODEID into ent_code from code;
ent_code :=ent_code+;
UPDATE code set CODEID=ent_code ;
for two_row in var_two LOOP
--处理内循环
dbms_output.put_line('内层循环代码处');
JOB_ID:=two_row.PER_KIND;
PER_ID:=LOWER(RAWTOHEX(sys_guid()));
if JOB_ID='' THEN
JOB_ID := '';
JOB_NAME := '某字符串';
ENT_LEGAL_REP_ID := PER_ID;
ELSIF JOB_ID='' THEN
JOB_ID := '';
JOB_NAME := '某字符串';
ELSIF JOB_ID='' THEN
JOB_ID := '';
JOB_NAME := '某字符串';
ELSE
JOB_ID := '';
JOB_NAME := '某字符串';
end if;
WORK_TYPE:=two_row."TYPE";
insert into ENT_PERSON_JOB (ID,ENT_CODE,JOB_ID,JOB_NAME,WORK_TYPE,ENT_NAME,ENT_TYPE_ID,ENT_TYPE_NAME,P ER_ID)
values( RAWTOHEX(sys_guid()),ent_code, JOB_ID, JOB_NAME, WORK_TYPE, ENT_NAME, PRO_OP_TYPE, ENT_TYPE_NAME, PER_ID);
PER_NAME:=two_row."NAME";
SEX:=two_row.SEX;
if SEX='' THEN
SEX := '';
end if;
if NATION_ID= THEN NATION_ID := ''; NATION := '某字符串 ';
ELSIF NATION_ID= THEN NATION_ID := ''; NATION := '某字符串';
ELSIF NATION_ID= THEN NATION_ID := ''; NATION := '某字符串';
END IF;
CER_TYPE_ID:=trim(two_row.CER_TYPE);
if CER_TYPE_ID='' THEN
CER_TYPE_NAME := '某字符串';
ELSIF CER_TYPE_ID='' THEN
CER_TYPE_NAME := '某字符串';
ELSIF CER_TYPE_ID='' THEN
CER_TYPE_NAME := '某字符串';
ELSE
CER_TYPE_ID := '';
CER_TYPE_NAME := '某字符串';
END IF;
OFFICE_TEL:=two_row.TEL;
MOBILE:=two_row.MOB_TEL;
insert into ENT_PERSON (PER_ID,PER_NAME,SEX,NATION_ID,NATION,CER_TYPE_ID,CER_TYPE_NAME,OFFICE_TEL, MOBILE)
values(PER_ID, PER_NAME, SEX, NATION_ID, NATION, CER_TYPE_ID, CER_TYPE_NAME, OFFICE_TEL, MOBILE);
dbms_output.put_line('内循环完毕');
END LOOP;
--单程循环
dbms_output.put_line('单程外层循环代码处');
insert into ENT_LICENSE (LIC_ID,LIC_CODE,VALID_FROM_DATE,VALID_TO_DATE,COPY_COUNT,UNIT_ID,LIC_STATE _ID,lic_state,LIC_ISSUE_TIME,SIGNER,LIC_ISSUE_AUTH,ENT_CODE)
values(Guid, LIC_CODE, VALID_FROM_DATE, VALID_TO_DATE, COPY_COUNT, UNIT_ID, LIC_STATE_ID, lic_state, LIC_ISSUE_TIME, SIGNER, LIC_ISSUE_AUTH, ent_code);
ENT_ID:=LOWER(RAWTOHEX(sys_guid()));
REG_ADDR:=one_row.DOM;
AREA_CODE:=one_row.DOM_CODE;
REG_ADDR_POSTAL_CODE:=one_row.POSTAL_CODE;
ENT_EMAIL:=one_row.POSTAL_CODE;
ENT_PROPERTY_ID:=one_row.ECO_NATURE;
if ENT_PROPERTY_ID='' THEN
ENT_PROPERTY_NAME:='某字符串';
ELSIF ENT_PROPERTY_ID='' THEN
ENT_PROPERTY_NAME:='某字符串';
ELSIF ENT_PROPERTY_ID='' THEN
ENT_PROPERTY_NAME:='某字符串';
ELSIF ENT_PROPERTY_ID='' THEN
ENT_PROPERTY_NAME:='某字符串';
END IF;
UNITE_CREDIT_NO:=one_row.XYDM;
insert into ENT_BASIC (ENT_CODE,ENT_NAME,REG_ADDR,AREA_CODE,REG_ADDR_POSTAL_CODE,ENT_EMAIL,ENT_PR OPERTY_ID,ENT_PROPERTY_NAME,UNITE_CREDIT_NO,ENT_ID,ENT_LEGAL_REP,ENT_LEGAL_ REP_ID)
values(ent_code, ENT_NAME, REG_ADDR, AREA_CODE, REG_ADDR_POSTAL_CODE,ENT_EMAIL, ENT_PROPERTY_ID, ENT_PROPERTY_NAME, UNITE_CREDIT_NO,ENT_ID, PRIL_NAME, ENT_LEGAL_REP_ID);
PK_IDZ:=one_row.PK_ID;
insert into ENT_FOOD_BIZ_EXT (EXTEND_ID,ent_code,BIZ_PLACE_ADDR,WORKER_COUNT,PHYSICAL_COUNT,SEATS_COUNT, IS_HAVE_NETWORK_BIZ,IS_HAVE_CENTRAL_KITCHEN,IS_MEAL_DELIVER,WEB_URL,STORAGE _ADDRESS,HAS_AUTO_SELL_EQUIP,HAS_STORES,IS_BULK_COOKED_FOOD,IS_HOME_BREWED, IS_SCHOOL)
SELECT RAWTOHEX(sys_guid ()),ent_code,OPLOC,EMP_NUM,HEALTH_EXAM_NUM,DINING_SEATS,NET_OP,CENTRAL_KIT, TRANSPORT_DEPT,NET_ADDR,STORAGE,AUTO_SELL,IS_ENTITY_SHOP,IS_BULK_DELI_SALE, IS_SINCE_WINE_SALE,IS_SCHOOL_CANT from sp_jy_lic_info where PK_ID=PK_IDZ ;
WORK_SCOPE:=one_row.PRO_OP_ITEM_DETAIL;
insert into ENT_TYPE_RELATION (ID,ENT_CODE,ENT_TYPE_ID,ENT_TYPE_NAME,WORK_SCOPE)
values(LOWER(RAWTOHEX(sys_guid())), ent_code, PRO_OP_TYPE, ENT_TYPE_NAME, WORK_SCOPE);
insert into ENT_EQUIP (ID,ENT_CODE,ENT_TYPE_ID,EQUIP_NAME,EQUIP_COUNT,EQUIP_POSITION,REMARK)
SELECT RAWTOHEX(sys_guid ()),ent_code,PRO_OP_TYPE,NAME,COUNT_NO,PLACE,REMARK from SP_JY_SAFE_INFO where LIC_ID=one_val; update SP_JY_LIC_INFO set FAX='' where LIC_ID=one_val;
dbms_output.put_line(ent_code); END LOOP;
--结尾处的
dbms_output.put_line('结尾');
END;
END;

oracle

oracle大数据匹配处理C#的更多相关文章

  1. 使用JDBC处理Oracle大数据

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  2. 利用jdbc处理oracle大数据---大文件和二进制文件

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  3. JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  4. Oracle 大数据集成实施

    Oracle 大数据实施架构 Oracle为广大客户提供了一个预装的用于测试和学习目的的免费大数据环境.你可以在这个环境中对Oracle大数据一体机(Big Data Appliance)上的可选软件 ...

  5. JavaWeb(三十五)——使用JDBC处理Oracle大数据

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  6. Oracle大数据解决方案》学习笔记5——Oracle大数据机的配置、部署架构和监控-1(BDA Config, Deployment Arch, and Monitoring)

    原创预见未来to50 发布于2018-12-05 16:18:48 阅读数 146  收藏 展开 这章的内容很多,有的学了. 1. Oracle大数据机——灵活和可扩展的架构 2. Hadoop集群的 ...

  7. Oracle大数据常见优化查询

    [转]http://www.cnblogs.com/myhappylife/p/5006774.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的 ...

  8. Oracle大数据量查询实际分析

    Oracle数据库: 刚做一张5000万条数据的数据抽取,当前表同时还在继续insert操作,每分钟几百条数据. 该表按照时间,以月份为单位做的表分区,没有任何索引,当前共有14个字段,平均每个字段3 ...

  9. JDBC 复习3 存取Oracle大数据 clob blob

    1 目录结构记得导包咯 mysql oracle 2 代码,DBUtil工具类见前面的随笔博文 package dbex.mysql; import java.io.BufferedReader; i ...

随机推荐

  1. php开发aes加密总结

    <?php class Aes { /** * aes 加密 解密类库 * @by singwa * Class Aes *说明:本类只适用于加密字符串 * */ private $key = ...

  2. python基础,导入模块,if语句,while语句

    python基础 python代码 变为字节码 变为机器码 最后执行执行‘文件名.py’文件时出现的‘文件名.pyc’文件为字节码 缓存机制 使用pycharm的时候在文件最开始添加下面这两行代码,中 ...

  3. Python3 模块、包调用&路径

    ''' 以下代码均为讲解,不能实际操作 ''' ''' 博客园 Infi_chu ''' ''' 模块的优点: 1.高可维护性 2.可以大大减少编写的代码量 模块一共有三种: 1.Python标准库 ...

  4. css在线sprite

    大家知道网站图片多,浏览器下载多个图片要有多个请求.可是请求比较耗时,那怎么办呢? 对,方法就是css sprite. 今天我们来看看css在线sprite 百度搜索css-sprite 打开www. ...

  5. RedHat7.1 安装Oracle12102

    选型: 32位的内存是个瓶颈,已经是64位的时代了.使用64位的CentOS6 和 64位的Oracle 11g R2 在虚拟机器安装,采用hostonly方式设置网络 注意:能上网的网卡要设置一下I ...

  6. .net core 新建一个web api 的步骤 初级

    1.使用VS2017 选择 .net core web应用程序. 2.选择web api(空). 3.如果需要用iis express调试,则需要修改 program.cs. 4.在Controlle ...

  7. Delphi中ModalResult的使用

    Delphi中ModalResult的功能非常实用. 在自己设计的Dialog界面中,选择相应的按钮,设置按钮的 ModalResult属性为mrOK .mrCancel 等.这样的设置,当按下该按钮 ...

  8. CSS3单选动画

    本示例实现了两种单选按钮动画效果,一种是缩放,一种是旋转,以下是html布局以及css样式 html:这里使用了label标签的for属性,以此来绑定radio <div class=" ...

  9. 4 class类 web服务器

    1.换行符 2.pycharm 连接Ubuntu 1)添加环境变量 2)查看ip 3)配置目录 4)上传或者下载 3.面向对象抽象web服务器 1)版本1:类 class HttpServer(obj ...

  10. 单服务器最大tcp连接数及调优汇总

    启动线程数: 启动线程数=[任务执行时间/(任务执行时间-IO等待时间)]*CPU内核数 最佳启动线程数和CPU内核数量成正比,和IO阻塞时间成反比.如果任务都是CPU计算型任务,那么线程数最多不超过 ...