玖叶教程网

前端编程开发入门

Oracle数据库小基础(oracle数据库基础知识)

Oracle数据类型

数值类型(NUMBER:表示数字类型

语法:NUMBER(p

oracle表设计(一):列值存放(oracle列出表)

1.什么类型就放什么值,否则会发生类型转换,导致性能问题!

存放字符的字段就设置varchar2类型

存放数值的字段就设置number类型

存放日期的字段就设置date类型

举例:设置ID为varchar2类型,并为之设置普通索引,模拟插入10000条数据

Oracle存储过程模板(oracle 存储过程的写法及简单实例)

开发存储过程模板

--存储过程,调用日志存储过程在第2个
CREATE OR REPLACE PROCEDURE SP_WA_BDXSRYGLB(V_ETLDATE IN  VARCHAR2  --执行日期
                                          ,V_RETURN  OUT NUMBER    --0=成功,-1=失败
                                          ,V_MSG     OUT VARCHAR2  --如果报错,返回报错原因及代码
)

  --------------------------------------------------------------------
  --功能名称   : 表关联表完整性数据跑批
  --执行周期   : 平台实时调用
  --创建日期   : 2020/12/30
  --源表       : W_JGBDDZB;BDXSRYGLB
  --目标表     : W_BDXSRYGLB
  --功能描述   : 进行表的拆分处理
  --版本历史   : 1.0
  --作者       : PH
  --------------------------------------------------------------------

IS
  V_DATE_ID            DATE := TO_DATE(V_ETLDATE, 'YYYYMMDD');  --执行日期
  V_SCHEMA             VARCHAR2(10)                          ;  --目标表所属用户
  V_PROC_START_FLAG    VARCHAR2(10)                          ;  --运行开始标记符 00:运行
  V_PROC_STOP_FLAG     VARCHAR2(10)                          ;  --运行开始标记符 01:结束
  V_LOG_RUN_PNAME      VARCHAR2(40)                          ;  --存储过程英文名称
  V_LOG_RUN_STEP       NUMBER                                ;  --执行步数
  V_LOG_RUN_TABNAME    VARCHAR2(40)                          ;  --目标表名
  V_LOG_RUN_OPRTTYP    VARCHAR2(10)                          ;  --操作类型
  V_LOG_RUN_MSG        VARCHAR2(1024)                        ;  --返回状态信息:执行步骤/步骤+报错信息
  V_LOG_RUN_MSGFLAG    VARCHAR2(10)                          ;  --错误信息
  V_LOG_RUN_COUNT      NUMBER                                ;  --总次数
  V_LOG_RUN_BEGIN_TIME DATE                                  ;  --开始时间
  V_LOG_RUN_RECDATE    DATE                                  ;  --步骤执行时间戳
  V_LOG_RUN_ETL_DATE   DATE                                  ;  --ETL执行日期
BEGIN
  V_SCHEMA             := 'EAST'                             ;
  V_PROC_START_FLAG    := '00'                               ;
  V_PROC_STOP_FLAG     := '01'                               ;
  V_LOG_RUN_PNAME      := 'SP_WA_BDXSRYGLB'                      ;
  V_LOG_RUN_TABNAME    := 'W_BDXSRYGLB'                          ;
  V_LOG_RUN_OPRTTYP    := ''                                 ;
  V_LOG_RUN_ETL_DATE   := TO_DATE(V_ETLDATE,'YYYYMMDD')      ;
  V_LOG_RUN_BEGIN_TIME := SYSDATE                            ;

  --插入存储过程运行日志
  ETL.SP_DMD_PROCEDURE_LOG(V_DATE_ID ,V_SCHEMA ,V_LOG_RUN_PNAME ,V_PROC_START_FLAG);
--启用oracle并行
  EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';
  EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL DML PARALLEL 16';
  EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL QUERY PARALLEL 16';
  V_LOG_RUN_STEP       := 1       ;
  V_LOG_RUN_BEGIN_TIME := SYSDATE ;
  V_LOG_RUN_OPRTTYP    := 'DELETE';
  -----------------------------------------/STEP-1:删除当前批次数据/------------------------------
  DELETE FROM W_BDXSRYGLB T WHERE T.SJBSPCH = V_ETLDATE;

  V_LOG_RUN_COUNT   := SQL%ROWCOUNT   ;
  V_LOG_RUN_MSG     := '执行STEP' || V_LOG_RUN_STEP || '成功';
  V_LOG_RUN_RECDATE :=  SYSDATE       ;
  V_LOG_RUN_MSGFLAG := 'SUCCESS'      ;
  ETL.SP_DMD_PROCEDURE_STEP_LOG(V_LOG_RUN_PNAME         --程序名称
                               ,V_LOG_RUN_STEP          --执行步数
                               ,V_LOG_RUN_TABNAME       --表名称
                               ,V_LOG_RUN_OPRTTYP       --数据操作类型  DELETE=删除 INSERT=新增 UPDATE=更新  SP=调用存储
                               ,V_LOG_RUN_MSG           --信息描述
                               ,V_LOG_RUN_MSGFLAG       --信息标志  FAILED=错误标识  SUCCESS=正常标志
                               ,V_LOG_RUN_COUNT         --记录条数
                               ,V_LOG_RUN_BEGIN_TIME    --开始时间
                               ,V_LOG_RUN_RECDATE       --运行日志时间
                               ,V_LOG_RUN_ETL_DATE)     --数据日期
  ;
  COMMIT;

  V_LOG_RUN_STEP       := 2       ;
  V_LOG_RUN_BEGIN_TIME := SYSDATE ;
  V_LOG_RUN_OPRTTYP    := 'INSERT';
  -----------------------------------------/STEP-2:插入完整关联表数据/------------------------------------

 INSERT INTO W_BDXSRYGLB(
       LSH                      --流水号
      ,BXJGDM                   --保险机构代码
      ,BXJGMC                   --保险机构名称
      ,XSRYDM                   --销售人员代码
      ,XSRYXM                   --销售人员姓名
      ,YYXSRYDM                 --银邮销售人员代码
      ,YYXSRYXM                 --银邮销售人员姓名  
 )SELECT/*+parallel(8)*/
        T.LSH                      --流水号
       ,T.BXJGDM                   --保险机构代码
       ,T.BXJGMC                   --保险机构名称
       ,T.XSRYDM                   --销售人员代码
       ,T.XSRYXM                   --销售人员姓名
       ,T.YYXSRYDM                 --银邮销售人员代码
     FROM D0508_BDXSRYGLB T;

  V_LOG_RUN_COUNT   := SQL%ROWCOUNT  ;
  V_LOG_RUN_MSG     := '执行STEP' || V_LOG_RUN_STEP || '成功';
  V_LOG_RUN_RECDATE := SYSDATE       ;
  V_LOG_RUN_MSGFLAG := 'SUCCESS'     ;
  ETL.SP_DMD_PROCEDURE_STEP_LOG(V_LOG_RUN_PNAME         --程序名称
                               ,V_LOG_RUN_STEP          --执行步数
                               ,V_LOG_RUN_TABNAME       --表名称
                               ,V_LOG_RUN_OPRTTYP       --数据操作类型
                               ,V_LOG_RUN_MSG           --信息描述
                               ,V_LOG_RUN_MSGFLAG       --信息标志  failed-错误标识  success-正常标志
                               ,V_LOG_RUN_COUNT         --记录条数
                               ,V_LOG_RUN_BEGIN_TIME    --开始时间
                               ,V_LOG_RUN_RECDATE       --运行日志时间
                               ,V_LOG_RUN_ETL_DATE)     --数据日期
  ;
  COMMIT;
  V_RETURN := 0 ;
  YDETL.SP_DMD_PROCEDURE_LOG(V_DATE_ID, V_SCHEMA, V_LOG_RUN_PNAME, V_PROC_STOP_FLAG);
  -----------------------------------------------/异常处理/-----------------------------------------
EXCEPTION
     WHEN OTHERS THEN
          ROLLBACK ;

          V_LOG_RUN_MSG     := 'STEP =' || V_LOG_RUN_STEP || ',ORAERROR = ' || SQLCODE  || ',' || SQLERRM(SQLCODE);
          V_LOG_RUN_RECDATE :=  SYSDATE ;
          V_LOG_RUN_MSGFLAG := 'FAILED' ;
    ETL.SP_DMD_PROCEDURE_STEP_LOG(V_LOG_RUN_PNAME         --程序名称
                                 ,V_LOG_RUN_STEP          --执行步数
                                 ,V_LOG_RUN_TABNAME       --表名称
                                 ,V_LOG_RUN_OPRTTYP       --数据操作类型
                                 ,V_LOG_RUN_MSG           --信息描述
                                 ,V_LOG_RUN_MSGFLAG       --信息标志  failed-错误标识  success-正常标志
                                 ,V_LOG_RUN_COUNT         --记录条数
                                 ,V_LOG_RUN_BEGIN_TIME    --开始时间
                                 ,V_LOG_RUN_RECDATE       --运行日志时间
                                 ,V_LOG_RUN_ETL_DATE)     --数据日期
 ;
  V_RETURN  := -1            ;
  V_MSG     :=  V_LOG_RUN_MSG;

  ETL.SP_DMD_PROCEDURE_LOG(V_DATE_ID, V_SCHEMA, V_LOG_RUN_PNAME, V_PROC_STOP_FLAG);

 END;

Oracle与MySql知识汇总(oracle和mysql冲突吗)

  1. sqlplus 连接数据库的方式
  2. 1> cmd 中输入:sqlplus 用户名/密码@数据库实例
  3. 如:sqlplus system/lxr316@oracle,
  4. sqlplus sys/admin as sysdba
  5. 2> 打开sqlplus 直接输入用户名和密码

oracle日常巡检--检查数据库基本情况

概述

之前整理总结的关于日常巡检方面内容,主要分五块,第一块是对数据库基本情况的检查,下面介绍下相关命令,有点多,大家可以参考下:


相关命令

1、查看数据库实例状态

oracle数据库trunc函数使用(oracle数据库trim函数)

函数说明

用法有两种:

trunc(number) 截断数字

trunc(date) 截断日期。

简述Oracle数据库(简述Oracle数据库物理存储结构的组成)

Oracle是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

Oracle基本概念:

Oracle存储过程和调用(oracle存储过程调用函数)

1、定义

存储过程(Stored Procedure)是在大型

前后台时间日期格式化,数据库查询时间不对,下次不要困扰你了

时间日期的前后台不一致问题,oracle数据库 插入和查询的时候拿到的时间和存储值不一致,今天直接上代码。

一、前台格式化代码

//将后台传过来的 日期时间 格式化方法

//显示完整的 yyyy-mm-dd hh:mm:ss

function formatime(oldDate) {

 if(!oldDate){
 return;
 }

 if(typeof(oldDate) === 'string'){

 //这里要注意你的格式是什么,这个CST不要写错了
 oldDate = oldDate.replace("CST","GMT+0800");

 var now = new Date(oldDate);

 var year = now.getFullYear();

 var month = now.getMonth()+1;

 var day = now.getDate();

 var hours = now.getHours();

 if(hours <= 9){
 hours = "0" + hours;
 }

 var minutes = now.getMinutes();
 if(minutes <= 9){
 minutes = "0" + minutes;
 }

 var seconds = now.getSeconds();
 if(seconds <= 9){
 seconds = "0" + seconds;
 }

 if(month <= 9){
 month = "0" + month;
 }

 if(day <= 9){
 day = "0" +day;
 }

 return "" + year + "-" + month + "-" + day
 + " " + hours + ":" + minutes + ":" + seconds + "";
 }
}



二、后台数据库插入问题

 oracle 数据库在你的 类中 Date 类型上面加上

1. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

2.@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss"
)

这两个注解

Oracle数据库的单、多行函数(oracle 执行多条语句)

一、单行函数

  • 什么是SQL的函数?

  • 函数的类型

<< < 1 2 3 4 5 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言