随笔分类 - Oracle
摘要:listagg() within group 用于将多行转换成一行显示,即行转列,如下示例: 在t7_insurer_function表中可以看到一个insu_code对应多个busi_code字段,这时我想把它们用逗号分割,显示在一行里,这个时候就用到了行转列函数。 SELECT insu_cod
阅读全文
摘要:在相关业务查询中,我们常常遇到相关的上下级关系情况,如组织层级等,这个时候可以使用oracle提供的start with 关键字进行递归查询。 语法如下: SELECT ... FROM + 表名 START WITH + 条件1 CONNECT BY PRIOR + 条件2 WHERE + 条件3
阅读全文
摘要:1、查询当前用户或者数据库所有的表 -- 查看当前登录用户所有的表 select table_name from user_tables; -- 根据用户名查询用户所拥有的表,如果不写条件则是查询当前数据库所有用户各自拥有的表 select * from all_tables where owner
阅读全文
摘要:视情况而定,索引有好处也有坏处。为什么要创建索引?这是因为创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
阅读全文
摘要:一、概述 数据库是一个多用户使用的共享资源,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能读取或存取不正确的数据,破坏数据的不正确性(脏读,不可重复读,幻读等),可能产生死锁。锁主要用于多用户环境下保证数据库完整性和一致性。 加锁是实现数据库
阅读全文
摘要:一、概述 当数据量过大的时候对于数据库的性能将是很大的考验,因此将会选择进行分库或者分表,或者分库分表结合进行来减少单一数据库的压力,进而提高数据库的性能。从某种程度上说分库分表是一种分治法,将大量数据变成小量数据,大表拆分为小表,从而操作数量少的一部分。 数据的拆分(Sharding)根据其拆分规
阅读全文
摘要:oracle定时执行存储过程 --创建一个存储过程,每天定时执行,将满足条件的设备插入到pinpai_Report表中。 CREATE OR REPLACE procedure prc_job_report is begin INSERT into pinpai_Report SELECT s.ty
阅读全文
摘要:今天在navicat中编写sql操作oracle数据库时进行了误操作,可以使用如下语句进行回退回滚,因为navicat是自动提交事务的,而rollback没法回滚。 只需要回退到某个时间段即可。
阅读全文
摘要:最近的一个功能定时任务要求在当天凌晨2点生成前一天的数据。涉及到数据库时间的操作,特此记录一下,整理关于日期获取的笔记如下
阅读全文
摘要:oracle中对于表和字段的操作有如下五种: 一、创建表 二、修改表(添加新字段,删除字段,修改表名,修改字段类型,修改列名,给字段添加注释) 三、删除表 四、复制表 五、字段加索引
阅读全文
摘要:oracle中insert all的用法 现在有个需求:将数据插入多个表中。怎么做呢?可以使用insert into语句进行分别插入,但是在oracle中有一个更好的实现方式:使用insert all语句。 **insert all语句是oracle中用于批量写数据的 。**insert all分又
阅读全文
摘要:1.查询指定表中有哪些触发器 2.禁用指定表中所有的触发器 3.启用指定表中所有的触发器 4.禁用指定表的触发器 5.启用指定的触发器
阅读全文
摘要:limit i,n; i:为查询结果的索引值(默认从0开始),当i=0时可省略i n:为查询结果返回的数量(也就是条数) 表示从第i+1条开始,取n条数据 limit n 等同于 limit 0,n 索引是从零开始,但是数据是从1开始存储的,也就是说limit 0,1;查询出来的数据是第一条,lim
阅读全文
摘要:整理一下sql的关键字,一直都在用,只是很少去整理,所以今天简单整理一下,主要是整理CRUD的一些关键字。 写在前面:sql 不区分大小写 select 简单查询语句 select columnName from tableName where condition group by columnNa
阅读全文
摘要:摘自百度百科:触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器
阅读全文
摘要:oracle中的存储函数,和系统内的函数类似,可以像调用系统函数一样调用存储函数。它与存储过程的唯一区别就是存储过程没有return返回值,存储函数可以与存储过程互换,存储函数可以在存储过程中调用。 存储函数的基本语法结构: create [or replace] function 函数名[(参数名
阅读全文
摘要:存储过程是一组为了完成特定功能的sql语句集,是一段sql代码片段,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果存储过程存在参就给出,不存在就不用给出参数)来执行它。因为它是一段sql语句代码并且已经编译好了存放在数据库中,所以它的执行效率非常高。 存储过程的创建如下: cre
阅读全文
摘要:在写程序时难免会遇到程序出现错误,也就是程序出现了异常,而在pl/sq编程中异常有一种另外的名称叫做例外。它是负责处理sql异常的,当出现了例外,从而采取一些补救程序的措施。 在pl/sql中有系统异常,有自定义的异常。 一,异常的声明 declare begin exception when 异常
阅读全文
摘要:oracle中的游标,游标的概念与作用,游标的分类,游标的使用。 一,游标的概念与作用 摘自百度百科:游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用
阅读全文
摘要:在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高。pl/sql让sql也能执行判断,循环等操作。主要记录一下pl/sql的基本语法和基本条件判断语句和循环语句供忘记了方便查阅。 1.pl/SQL的语法结构: declare //这部分用于声明变量
阅读全文