![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
-
Oracle常用查询语句
转载自 java+mysql实现保存图片到数据库,以及读取数据库存储的图片一:建表二:获取数据库连接1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar2:写代码连接数据库,如下:package com.hlcui.file;import java.sql.Connection;import java.sql.DriverManager...原创 2021-01-03 21:06:53 · 3684 阅读 · 4 评论 -
Oracle入门(十四.9)之迭代控制:WHILE和FOR循环
目标本课涵盖以下目标:•在PL / SQL中构建和使用WHILE循环结构•在PL / SQL中构建和使用FOR循环结构•描述何时在PL / SQL中使用WHILE循环•描述何时在PL / SQL中使用FOR循环一、目的前一课讨论了基本循环,它允许循环内部的语句至少执行一次。本课介绍WHILE循环和FOR循环。WHILE循环是一个循环构造,它要求在每次迭代开始时评估EXIT条件。 如果迭代次数已知,...原创 2018-06-01 08:32:27 · 568 阅读 · 0 评论 -
Oracle入门(十四.8)之迭代控制:基本循环Loop
目标本课涵盖以下目标:•描述PL / SQL中对LOOP语句的需求•识别不同类型的LOOP语句•创建包含基本循环和EXIT语句的PL / SQL•创建包含基本循环的PL / SQL和带有条件终止的EXIT语句一、目的循环结构是第二种类型的控制结构。 循环主要用于重复执行语句,直到达到EXIT条件。PL / SQL提供了三种结构循环来重复声明或一系列语句的方法。 这些是基本循环,FOR循环和WHIL...原创 2018-06-01 08:32:16 · 785 阅读 · 0 评论 -
Oracle入门(十四.7)之良好的编程习惯
目标本课涵盖以下目标:列举好的编程实践的例子•准确地将注释插入到PL / SQL代码中•创建遵循格式准则的PL / SQL代码以生成可读代码一、目的良好的编程实践是可以遵循的技术来创建最佳代码。 编程实践涵盖了从编写更易读的代码到创建具有更快性能的代码。软件工程团队通常会遵循风格指南,以便团队中的每个人都使用相同的技术。 这使得读取和修改其他人编写的代码变得更加容易。二、编程实践您已经在本课程中学...原创 2018-06-01 08:32:03 · 363 阅读 · 0 评论 -
Oracle入门(十四.6)之使用标量数据类型
目标本课涵盖以下目标:在PL / SQL中声明和使用标量数据类型•定义声明和初始化PL / SQL变量的指导原则•确定使用%TYPE属性锚定数据类型的好处一、目的 您在PL / SQL中定义和使用的大多数变量都具有标量数据类型。 变量可以具有显式数据类型,例如VARCHAR2,或者它可以自动具有与数据库中的表列相同的数据类型。 您将学习基于表列的一些变量的好处。二、声明字符变量字符数据...原创 2018-06-01 08:31:55 · 717 阅读 · 0 评论 -
Oracle入门(十四.5)之识别数据类型
目标本课涵盖以下目标:•定义数据类型并解释为什么需要它列出并描述数据类型的类别•给出标量和复合数据类型的例子一、目的在编程世界中,数据可以通过多种方式表征。每个常量,变量和参数都有一个数据类型(或类型),用于指定可以使用的数据类型和大小,以及它的存储方式。PL / SQL提供了各种预定义的数据类型。 例如,您可以从整数,浮点数,字符,布尔值,日期,集合和LOB类型中进行选择。二、PL / SQL数...原创 2018-05-31 10:20:05 · 594 阅读 · 0 评论 -
Oracle入门(十四.4)之在PL / SQL中使用变量
目标本课涵盖以下目标:列出PL / SQL中变量的用法•确定PL / SQL中变量的语法•在PL / SQL中声明和初始化变量•在PL / SQL中为变量分配新值一、目的 您使用变量来存储和操作数据。 在本课中,您将学习如何在PL / SQL块的声明部分声明和初始化变量。 使用PL / SQL,您可以声明变量,然后在SQL和过程语句中使用它们。 变量可以被认为是存储容器,它可以容...原创 2018-05-31 09:19:23 · 3726 阅读 · 0 评论 -
Oracle入门(十四.3)之创建PL / SQL块
目标本课涵盖以下目标:•描述PL / SQL块的结构识别不同类型的PL / SQL块•确定PL / SQL编程环境•创建并执行匿名PL / SQL块•在PL / SQL中输出消息一、目的当你把东西放进一个盒子时,你直观地知道该盒子具有一致的属性。 它具有可打开和关闭的侧面,底部和顶部。在PL / SQL中,将编程指令放入也具有一致属性的块结构中。在这里,您将学习PL / SQL块的结构并创建一种块...原创 2018-05-31 08:56:06 · 877 阅读 · 0 评论 -
Oracle入门(十四.2)之PL / SQL的好处
目标本课涵盖以下目标:•列出并解释PL / SQL的好处列出PL / SQL和其他编程语言之间的差异•举例说明如何在其他Oracle产品中使用PL / SQL一、目的鉴于具体情况,你是否曾向某人解释过某种鞋子比另一种鞋子更好的原因?在本课中,您将了解PL / SQL编程语言的优点以及与其他编程语言的比较。 您还将了解PL / SQL与其他Oracle产品的关系。二、PL / SQL的好处在Orac...原创 2018-05-31 08:27:42 · 713 阅读 · 0 评论 -
Oracle入门(十四.1)之PL / SQL简介
本课涵盖以下目标:•描述PL / SQL•区分SQL和PL / SQL•解释对PL / SQL的需求一、目的 PL / SQL是Oracle Corporation关于关系数据库的标准过程语言。 为了描述PL / SQL,您可以了解其特性并更好地准备描述PL / SQL和SQL之间的差异。 了解SQL的局限性将帮助您理解为什么需要PL / SQL语言。 你明白,当你试图在没有钥匙的情况下进入...原创 2018-05-31 08:26:53 · 319 阅读 · 0 评论 -
Oracle入门(十四G)之PL / SQL中检索数据
在本文中,将学习:•识别可以直接包含在PL / SQL可执行代码块中的SQL语句•构造并执行INTO子句以保存由单行SQL SELECT语句返回的值•构建报表以检索遵循良好实践准则的数据•构建适用于命名变量的良好实践准则的语句一、PL / SQL中检索数据(1)为什么要学习它 在本文中,将学习如何在PL / SQL块中嵌入标准的SQL SELECT语句。 还可以在检索数据时了解遵循使用准则和...原创 2018-05-31 08:26:22 · 521 阅读 · 0 评论 -
Oracle入门(十四H)之良好的编程实践
在本课中,您将学习:•列举良好编程的例子做法•准确地将注释插入到PL / SQL代码中•创建格式化后的PL / SQL代码生成可读代码的指导原则一、为什么要学习它好的编程实践是技巧,你可以按照创建最好的代码可能。 编程实践涵盖了一切从代码更多可以用更快的速度创建代码性能。软件工程团队通常会遵循风格指导让团队中的每个人使用相同的技术。 这使它更容易阅读和修改编写的代码其他。二、编程实践已经学会了几种...原创 2018-05-31 08:26:10 · 390 阅读 · 0 评论 -
Oracle入门(十四F)之PL/SQL定义变量
在本文中,将学习:在PL/SQL中介绍变量的使用在PL/SQL识别变量中的语法在PL/SQL中变量声明和初始化变量在PL/SQL中变量分配新的值一、变量介绍(1)学习目的 使用变量存储和操作数据。在本课中,你将学习如何在变量中声明和初始化变量PL/SQL块的声明性部分。用PL/SQL,可以声明变量和然后在SQL和过程中使用它们声明。(2)变量的使用可以使用变量:临时存储数据存储值的操作可重用...原创 2018-05-31 08:24:55 · 3565 阅读 · 0 评论 -
Oracle入门(十四E)之条件表达式case和deocde函数
在本文中,将学习:• 比较和对照 DECODE 和 CASE 函数• 构建并执行正确使用 DECODE 和CASE 函数的 SQL 查询• 采用两种方式实现 IF-THEN-ELSE条件逻辑并执行该逻辑一、表达式(1)条件表达式 共有两种条件表达式,即 CASE 表达式和DECODE 表达式。就 CASE 比较两个表达式而言,该表达式在逻辑上等效于之前学习的NULLIF 函数。如果两个表达式...原创 2018-05-31 08:24:46 · 560 阅读 · 0 评论 -
Oracle入门(十四D)之常规函数
一、NULL处理在本文中,将学习:• 演示并说明嵌套函数的计算过程• 至少列出四种使用任意数据类型且涉及null 值处理的常规函数• 说明 COALESCE 和 NVL 函数的用途• 说明如何使用常规函数处理数据中的null 值• 构建并执行正确应用 NVL、NVL2、NULLIF 和 COALESCE 单行函数的SQL 查询学习目的除了那些控制数据格式或将数据转换为其他类型的函数外,SQL 还使...原创 2018-05-31 08:24:35 · 476 阅读 · 0 评论 -
Oracle入门(十四C)之转换函数
在本文中,将学习:• 为显式数据类型转换和隐式数据类型转换各举一个例子• 从企业角度说明,为什么一种语言有内置数据转换功能很重要• 构建正确应用 TO_CHAR、TO_NUMBER 和 TO_DATE单行函数生成所需结果的 SQL 查询• 应用适当的日期和(或)字符格式样式来生成所需的输出• 解释 YYYY 和 RRRR 的用法,并应用 YYYY 和 RRRR正确返回存储在数据库中的年份一、数据转...原创 2018-05-30 00:16:38 · 1224 阅读 · 0 评论 -
Oracle入门(十四B)之PL/SQL异常处理
定义:程序执行过程的警告或错误成为例外(Exception)一、常见预定义错误 二、非预定义错误及用户定义错误 (1)非预定义oracle错误其他标准的oracle错误,可以自定义异常名,将其与指定oracle错误关联,由系统触发。 例子:在PL/SQL定义部分声明 some_bad_error exception; pragma exception_INIT(some_bad_error,-60...原创 2018-05-30 00:16:14 · 383 阅读 · 0 评论 -
Oracle入门(十四A)之PL/SQL 基本结构
一、条件控制语句 (1)条件语句Iif…then…end if形式1: if <布尔表达式> then …(pl/sql和sql) … end if;(2)条件语句II (续) if…then…else … end if形式2: if <布尔表达式> then …(pl/sql和sql) else … end if;(3)条件控制语句II if…then…elsif…the...原创 2018-05-30 00:16:23 · 298 阅读 · 0 评论 -
Oracle入门(十四.11)之使用显式游标属性
一、游标和记录此示例中的游标基于SELECT语句,该语句仅检索每个表行的两列。 如果它检索了六列或七,八,二十个呢?DECLARE v_emp_id employees.employee_id%TYPE; v_last_name employees.last_name%TYPE; CURSOR emp_cursor IS SELECT employee_id, last_name...原创 2018-06-01 08:32:46 · 938 阅读 · 1 评论 -
Oracle入门(十四.10)之显式游标简介
目标本课涵盖以下目标:•区分隐式和显式游标•描述为什么以及何时在PL / SQL代码中使用显式游标•列出两个或更多声明和控制显式游标的指导原则•创建成功打开游标并将一段数据提取到变量中的PL / SQL代码•使用一个简单的循环从游标中获取多行•创建PL / SQL代码,在将数据提取到变量后成功关闭游标一、目的您已经了解到,只有PL / SQL块中的SQL SELECT语句只返回一行,它才会成功。如...原创 2018-06-01 08:32:35 · 394 阅读 · 0 评论 -
Oracle入门(十四.12)之游标FOR循环
一、游标FOR循环游标FOR循环处理显式游标中的行。 这是一个快捷方式,因为游标被打开,循环中的每次迭代都会获取一次行,当处理最后一行时会退出循环,并且游标会自动关闭。 当最后一行被提取时,循环本身在迭代结束时自动终止。(1)语法FOR record_name IN cursor_name LOOP statement1; statement2; . . .END LOOP;在语法中:•r...原创 2018-06-01 08:33:07 · 13727 阅读 · 0 评论 -
Oracle的分页实现
转载自 Oracle的分页实现在Oracle中实现分页的方法大致分为两种,用ROWNUM关键字和用ROWID关键字,下面来详细介绍一下:1、ROWNUM其代码为:SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (SELECT * FROM TABLE1 ...转载 2019-02-12 23:08:02 · 292 阅读 · 0 评论 -
PL/SQL之JOB用法 (定时跑数据)
转载自 PL/SQL之JOB用法 (定时跑数据)一、DBMS_Job包的用法 包含以下子过程: Broken()过程。 change()过程。 Interval()过程。 Isubmit()过程。 Next_Date()过程。 Remove()过程。 Run()过程。 Submit()过程。 ...转载 2019-02-12 20:06:51 · 3179 阅读 · 0 评论 -
Oracle入门(十五)之数据库锁
一、锁的概念锁是数据库用来控制共享资源并发访问的机制。 锁用于保护正在被修改的数据 直到提交或回滚了事务之后,其他用户才可以更新数据 二、锁定的优点一致性 - 一次只允许一个用户修改数据 完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户 并行性 -允许多个用户访问同一数据 三、锁的类型 四、行级锁对正在被...原创 2018-06-02 08:27:50 · 1232 阅读 · 0 评论 -
sql中索引不会被用到的几种情况
转载自sql中索引不会被用到的几种情况1、查询谓词没有使用索引的主要边界,换句话说就是select *,可能会导致不走索引。比如,你查询的是SELECT * FROM T WHERE Y=XXX;假如你的T表上有一个包含Y值的组合索引,但是优化器会认为需要一行行的扫描会更有效,这个时候,优化器可能会选择TABLE ACCESS FULL,但是如果换成了SELECT Y FROM T W...转载 2019-05-11 23:34:40 · 11600 阅读 · 0 评论 -
Oracle入门(十四.23)之管理触发器
一、触发器需要特权要在模式中创建触发器,需要:•CREATE TRIGGER系统特权•触发器主体中引用的其他架构中的对象的普通对象特权(SELECT,UPDATE,EXECUTE等)•与触发器关联的表或视图上的ALTER特权。触发器主体中的语句使用触发器所有者的特权,而不是执行触发触发器的操作的用户的特权。 下面展示了一个例子。二、触发器所需的特权示例用户MOE需要创建以下触发器:CREATE O...原创 2018-06-02 08:26:56 · 290 阅读 · 0 评论 -
Oracle入门(十四.22)之创建DDL和数据库事件触发器
一、什么是DDL和数据库事件触发器?DDL语句触发DDL触发器:CREATE,ALTER或DROP。数据库事件触发器由数据库中的非SQL事件触发,例如:•用户连接到数据库或与数据库断开连接。•DBA启动或关闭数据库。•用户会话中引发了特定的异常。(1)在DDL语句中创建触发器语法•ON DATABASE在数据库中的所有模式上触发DDL•ON SCHEMA仅针对您自己的模式中的对象触发DDLCREA...原创 2018-06-02 08:26:36 · 1663 阅读 · 0 评论 -
Oracle入门(十四.21)之创建DML触发器:第二部分
一、使用条件谓词在上文中,看到了一个触发器,可以防止在周末插入EMPLOYEES:CREATE OR REPLACE TRIGGER secure_empBEFORE INSERT ON employees BEGIN IF TO_CHAR(SYSDATE,'DY') IN ('SAT','SUN') THEN RAISE_APPLICATION_ERROR(-20500, 'You ma...原创 2018-06-02 08:25:09 · 590 阅读 · 0 评论 -
Oracle入门(十四.20)之创建DML触发器:第一部分
一、什么是DML触发器?DML触发器是执行SQL DML语句(INSERT,UPDATE或DELETE)时自动触发(执行)的触发器。 您可以通过两种方法对DML触发器进行分类:•执行时间:BEFORE,AFTER或INSTEAD触发DML语句。•它们执行的次数:一次对于整个DML语句(一个语句触发器),或者对于受DML语句影响的每一行一次(一行触发)。二、创建DML语句触发器CREATE [OR ...原创 2018-06-02 08:26:17 · 1406 阅读 · 0 评论 -
Oracle入门(十四.19)之触发器简介
一、触发器的需求让我们从一个例子开始吧:一条业务规则规定,只要员工的工资发生变化,变更就必须记录在日志记录表中。可以创建两个过程来执行此操作:UPD_EMP_SAL更新工资,LOG_SAL_CHANGE将行插入日志表。可以从UPD_EMP_SAL中调用LOG_SAL_CHANGE,或者从调用环境中分别调用LOG_SAL_CHANGE。但不必这样做。 相反,你创建一个触发器。 下一张幻灯片展示了如何...原创 2018-06-02 08:24:58 · 248 阅读 · 0 评论 -
Oracle入门(十四.18)之使用动态SQL
一、SQL的执行流程数据库中的所有SQL语句都经历了不同的阶段:•解析:预执行“这可能吗?”检查包括语法,对象存在,权限等•绑定:获取语句中引用的任何变量的实际值•执行:语句被执行。•提取:结果返回给用户。某些阶段可能与所有语句无关;例如,提取阶段适用于查询,但不适用于DML。二、PL / SQL子程序中SQL的执行流程当PL / SQL子程序中包含SQL语句时,解析和绑定阶段通常是在编译时完成的...原创 2018-06-02 08:24:44 · 309 阅读 · 0 评论 -
Oracle入门(十四.17)之procedure传递参数
一、程序参数模式参数模式在形式参数声明中指定,位于参数名称之后,位于其数据类型之前。参数传递模式:•IN参数(默认值)为子程序提供处理值。•OUT参数将值返回给调用者。•IN OUT参数提供一个输入值,该值可以作为修改值返回(输出)。二、默认模式:IN如果没有指定模式,IN模式是默认模式。 IN参数只能在程序中读取。 他们不能被修改。CREATE PROCEDURE procedure(param...原创 2018-06-02 08:24:33 · 5568 阅读 · 0 评论 -
Oracle入门(十四.16)之捕获用户定义的异常
一、异常类型本文讨论用户定义的错误。二、捕获用户定义的异常PL / SQL允许你定义你自己的异常。 您根据应用程序的要求定义异常。输入数据期间需要用户定义的异常的一个示例。 假设您的程序提示用户输入部门编号和名称,以便它可以更新部门的名称。 当用户进入无效部门时会发生什么? 该代码不会产生Oracle错误。 你需要定义一个预定义的用户错误来引发错误。DECLARE v_name VARCHAR2...原创 2018-06-02 08:23:23 · 636 阅读 · 0 评论 -
Oracle入门(十四.15)之捕获Oracle服务器异常
一、异常类型本课讨论预定义和非预定义的Oracle服务器异常。(1)使用PL / SQL处理异常有两种提出异常的方法:•Oracle服务器隐式(自动):- 发生Oracle错误并自动引发相关异常。- 例如,如果在SELECT语句中没有从数据库中检索行时发生错误ORA-01403,则PL / SQL引发异常NO_DATA_FOUND。•程序员明确指出:- 根据您的程序正在执行的业务功能,您可能必须明...原创 2018-06-01 09:20:22 · 778 阅读 · 0 评论 -
Oracle入门(十四.14)之处理异常
一、什么是异常?在执行破坏程序正常运行的程序期间发现错误时会发生异常。 有很多可能的例外原因:用户在输入时出现拼写错误; 程序无法正常工作; 广告网页不存在; 等等。你能想到在使用网站或应用程序时遇到的错误吗?二、PL / SQL中的异常这个例子工作正常。 但是如果你进入“韩国,南方”而不是“韩国”呢?DECLARE v_country_name wf_countries.country_nam...原创 2018-06-01 08:59:28 · 485 阅读 · 0 评论 -
Oracle入门(九A)之用户的权限或角色
转载自 查看Oracle用户的权限或角色前几天被问到一些关于权限和角色的问题,今天抽时间总结一下如何查看Oracle用户的权限或角色,在之前的博文中,写过 SYS,SYSTEM,DBA,SYSDBA,SYSOPER的区别与联系 以及 Oracle中定义者权限和调用者权限案例分析 这两篇博文,读者可以参考阅读!Oracle的东西感觉很杂,抽空闲的时间多总结也是对知识的一个梳理以及对自己的一个提高,...转载 2018-05-30 00:15:22 · 350 阅读 · 0 评论 -
Oracle入门(十四.13)之带参数的游标
一、带参数的游标 参数是一个变量,其名称用于游标声明中。 当游标打开时,参数值被传递给Oracle服务器,Oracle服务器使用它来决定要将哪些行检索到光标的活动集中。 这意味着您可以在块中多次打开和关闭显式光标,或者在同一个块的不同执行中打开和关闭显式光标,每次都返回一个不同的活动集。 考虑将任何region_id传递给游标的示例,并返回该区域中国家/地区的名称。例子DECLA...原创 2018-06-01 08:33:24 · 8963 阅读 · 0 评论 -
Oracle入门(十四)之PL/SQL
一、PL/SQL 基本语法PL/SQL语言是模块式的过程化SQL,是oracle公司对SQL的扩展。(1)(2)(3)(5)(6)(7)数据类型Number 数字型Varchar2 变长字符型,最大32767个字符Date 日期型Boolean 布尔型(TRUE,FALSE,NULL三者取一)Char 定长字符型,最大32767个字符Int 整数型Pls_integer 整数型,产生溢出时出现错误...原创 2018-05-30 00:16:05 · 445 阅读 · 0 评论 -
Oracle入门(十二J)之同义词
转载自 oracle同义词创建同义词:--普通用法create [or replace] [public] synonym [schema.] 同义词名称 for [schema.] object [@dblink]; --创建专有(私有)同义词create synonym sysn_test for test; --创建公共同义词create public synonym publ...转载 2018-05-30 00:14:11 · 539 阅读 · 0 评论 -
Oracle入门(十三C)之高级查询(下)
四、常见组函数SUM、AVG、COUNT、MIN、MAX分组函数忽略null 值。不能在WHERE 子句中使用组函数。MIN 和MAX 可用于任何数据类型;SUM、AVG只能用于数字数据类型五、子查询子 查 询 是 一 个 SELECT语句,它嵌入到另一个SELECT 语句的子句中。子查询在主查询之前执行一次。主查询(也称外部查询)使用子查询的结果。有两种类型的子查询 单行子查询,该查询使用单行运...原创 2018-05-30 00:14:48 · 1316 阅读 · 0 评论