zoukankan      html  css  js  c++  java
  • oracle 存储过程、java对象、包

    oracle存储过程动态建立表、添加字段注释

    oracle存储过程 实现动态行转列

    oracle解析json

    --oracle不可用if exists,mysql可以
    --DROP TABLE IF EXISTS qmcb_ls_2019_3_25;
    -- 匿名存储过程
    -- declare 
    create or replace procedure qmcb_km_data
    as
        num     number; 
        --create_sql  varchar2(20000);
        v_sql varchar2(1000);
    
        begin 
    	--判断所有的表中是否已经存在这个表
    	select count(1) into num from all_tables where TABLE_NAME = upper('qmcb_km_2019_3_14') and OWNER=upper('qmcbrt'); 
    	if   num=1   then 
    		--如果存在,则执行drop table
    		execute immediate 'drop table qmcbrt.qmcb_km_2019_3_14';
    	end   if;
    	
    	--新建table,实现全表更新
    	execute immediate '
    	create table qmcb_km_2019_3_14 as
    	select
    		rownum as row_num,
    		t1.AAC147,
    		nvl(t1.AAC004, t2.AAC004) as AAC004,
    		nvl(t1.AAB301, substr(t2.AAC300, 1, 6)) as AAB301,
    		t1.AAC060 as AAC060_ZCA1,
    		case when ((t1.AAC060 is null or t1.AAC060=''8'') AND t1.AAZ299 is null) 
    			AND (t2.AAC060=''1'' AND t2.AAE138 is null) then ''1'' else ''0'' end is_normal, 
    		case when t5.sf is not null then ''1'' else ''0'' end as is_bzsw,
    		nvl2(t6.AAC002, ''1'', ''0'') as is_dc,
    	from 
    	( 
    		SELECT
    			AAC147,
    			AAC004
    		FROM
    			ZCA1 @BEIK_RT
    		WHERE
    			AAE100 = ''1''
    	) t1 left join (
    		select
    			sf
    		from
    			ZCA2 @BEIK_RT
    		where 
    			add_months(liur.stringToDate(nvl(sxrq, pjrq)), pxn * 12 + pxy) > sysdate
    		group by 
    			sf
    
    	) t7 on t1.AAC147 = t7.sf
    
    	left join(
    		SELECT
    			b.AAC002,
    			b.BAE185
    		FROM
    		(
    			SELECT
    				a.AAC002,
    				a.BAE185,
    				row_number() OVER(PARTITION BY a.AAC002 ORDER BY a.BAZ052 DESC) row_num
    			FROM
    				BC12 @BEIK_RT a
    			where
    				a.BAZ060 is null or a.BAZ060=''1''
    		) b
    		WHERE
    			b.row_num = 1
    	  
    	) t8 on t1.AAC147 = t8.AAC002';
    	--execute immediate create_sql;
    
    	-- Add comments to the columns 
    	v_sql := 'comment on column QMCB_KM_2019_3_14.row_num is ''行号''';
    	execute immediate v_sql;
    	/*v_sql := 'comment on column QMCB_KM_2019_3_14.random_num is ''随机数''';
    	execute immediate v_sql;*/
      
    	-- Create/Recreate indexes 
    	v_sql := 'create index INDEX_QMCBKM_ROW_NUM on QMCB_KM_2019_3_14 (ROW_NUM)
    	  tablespace QMCBRTSJGL_DATA
    	  pctfree 10
    	  initrans 2
    	  maxtrans 255
    	  storage
    	  (
    		initial 64K
    		next 1M
    		minextents 1
    		maxextents unlimited
    	  )';
    	execute immediate v_sql;
        end;

      执行存储过程

    begin
    exec 包名.过程名();
    end;
    

      

  • 相关阅读:
    csrf攻击 xss区别
    同源策略
    JavaScript中数组的排序——sort()
    箭头函数
    bind(),call(),apply()
    异步操作
    slice(), splice(),split(),indexOf(),join(),replace()
    04-Linux系统编程-第01天(文件IO、阻塞非阻塞)
    03-Linux命令基础-第03天(makefile、静态库、动态库、gdb调试工具)
    02-Linux命令基础-第02天(压缩包管理、服务器搭建与使用、vim)
  • 原文地址:https://www.cnblogs.com/iupoint/p/10776615.html
Copyright © 2011-2022 走看看