oracle函数

共享池中保留池的调整(shared_pool_reserved_size)

为君一笑 提交于 2020-03-08 18:28:31
--************************************************* -- 共享池中保留池的 调 整 (shared_pool_reserved_size) --************************************************* 1 . 何 谓 保留池 简 言之,保留一部分 内 存空 间 以 备 不 时 之需。通常情 况 下, Oracle 会将 大的 内 存 请 求分割成小的 内 存 块来满 足需求。而 对 于大的 内 存且 为连续 的 内 存空 间请 求,如果在共享池中未找到, 则会动 用 共享池中的保留池。 当 然,共享池在 内 存 压 力的情 况 下,也 会 使用到 保留池中的部分。保留池部分 满 足 较 大的 内 存需求更高效。缺省情 况 下, Oracle 会 配置 较 小的保留池, 这 部分可以用作 PL/SQL 或 触发 器 编译 使用或用于装 载 JAVA 对 象的 临时 空 间 。 这 些分配出去的 内 存一旦 释 放后 将 返回 给 保留池。 任意大于 "_shared_pool_reserved_min_alloc = 4400" 字 节 的 连续内 存分配 请 求,如果 shared_pool 中分配不能解 决 ,且 当 前 shared_pool 中 没 有可用的 块 能 够 aged

Oracle百分数显示问题

我们两清 提交于 2020-03-08 11:42:18
最近在项目中,遇到了算百分数的问题: 1.在网上百度了一下,找到了一个初级版本 select round(1 / 22, 4) * 100 || '%' from dual; 然后发现不能,当小数点前面为0时,不显示对应整数位的0 2.找到了进阶版本2 select to_char(round(1 / 17778, 4) * 100,'fm9999990.9999') || '%' from dual;  小数点后能正常显示。 但又发现,当没有小数位时,会带有一个小数点,下面的就是 select to_char(round(1 / 2, 4) * 100,'fm9999990.9999') || '%' from dual; 3.进阶版本3 通过CONCAT函数连接“%” Select CONCAT(TO_CHAR(round(1 / 2, 4) * 100,'990.99'),'%') FROM DUAL; 但是发现小数前面会有空格 4.终结版本   Select LTRIM(CONCAT(TO_CHAR(round(1 / 2, 4) * 100,'990.99'),'%'),' ') FROM DUAL; 转自“ https://www.cnblogs.com/hobby0524/p/10813597.html 来源: CSDN 作者: wpy110521 链接: https

Oracle【select from 语句】

北战南征 提交于 2020-03-08 11:23:42
Oracle【select from 语句】 1、select基本功能介绍 1)投影操作:结果集是源表中的部分“列” 2)选择操作:结果集是源表中的部分“行” 3)选择操作+投影操作:结果集是源表中的部分“行”部分“列” 4)连接操作 join:多表查询,结果集来自多张表,把多张的记录按一定条件组合起来 2、select基本语法 1)select colname(列名) from tabname(表名) 2)select 中指定多个列名,则用“逗号”分隔:select colname1,colname2 from tabname 3)* 号表示所有列:select * from tabname 4)select 语句:可有多个子句 5)select 子句:投影操作(列名)、列表达式、函数 、from 子句等 3、列别名 1)给列起一个别名,能够改变一个列、表达式的标识。 2)不写的话默认都是转成大写。 3)适合计算字段。 4)在原名和别名之间可以使用 as 关键字。 5)别名中包含空格、特数字符或希望大小写敏感的,用“”双引号将其括起来。 1 --查询结果中的字段使用别名:作用[方便查看查询结果] 2 --在字段名后使用关键字 字段名 as "别名" 3 --注意:as关键字可以缺省不写,别名中没有特殊的字符双引号也可以缺省 4 --方式-1 5 select empno 员工编号

Oracle中生成uuid的方法

怎甘沉沦 提交于 2020-03-07 05:17:34
Oracle中生成uuid的方法 下载LOFTER客户端 在Oracle SQL 提供了一个生成uuid的函数sys_guid: http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/functions187.htm#i79194 http://en.wikipedia.org/wiki/Universally_unique_identifier SQL> select sys_guid() from dual ; SYS_GUID() -------------------------------- A8F662B86E7413FEE040970A437C6BD7 但该函数如下问题: 1.返回类型为RAW 2.没有- (dash)分隔符 3.返回的字母大写 为了使产生的uuid符合rfc 4122的标准(http://tools.ietf.org/html/rfc4122) 创建函数如下,测试通过。 CREATE OR REPLACE FUNCTION get_uuid RETURN VARCHAR IS guid VARCHAR (50); BEGIN guid := lower(RAWTOHEX(sys_guid())); RETURN substr(guid,1,8)||'-'||substr(guid

oracle clob字段信息读取,不限字符长度

被刻印的时光 ゝ 提交于 2020-03-06 09:43:13
在项目中,经常需要在plsql中查询clob的内容,提供以下两种方法: 第一种,oracle常规函数,限制文本在4000以内 select dbms_lob.substr(sql_text) from dba_hist_sqltext where sql_id='&sql_id';说明:dbms_lob.substr函数对文本长度有要求,对于sql_text文本大于4000的会报异常 第二种,需要在plsql的命令窗口操作 set pagesize 0 set long 100000 select sql_fulltext from v$sql where sql_id='&sql_id'; 说明: 1)set pagesize 0 --防止分页 2) set long 100000 --'100000'为展示的字符长度,防止sql_fulltext截断 来源: https://www.cnblogs.com/handhead/p/12424754.html

oracle常用sql语句语法

拈花ヽ惹草 提交于 2020-03-06 09:31:44
一.数据控制语句 (DML) 部分   1.INSERT   (往数据表里插入记录的语句)   INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);   INSERT INTO 表名(字段名1, 字段名2, ……)   SELECT 字段名1, 字段名2, …… FROM 另外的表名;   字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’   如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''.   字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验.   日期字段的字段值可以用当前数据库的系统时间SYSDATE, 精确到秒   或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)   TO_DATE()还有很多种日期格式, 可以参看ORACLE DOC.   年-月-日 小时:分钟:秒 的格式YYYY-MM-DD HH24:MI:SS   INSERT时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,   方法借用ORACLE里自带的DBMS_LOB程序包.   INSERT时如果要用到从1开始自动增长的序列号, 应该先建立一个序列号   CREATE SEQUENCE

Oracle 分析函数的使用

谁说胖子不能爱 提交于 2020-03-06 08:50:34
Oracle 分析函数的使用 Oracle 分析函数 使用介绍 分析函数 是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在 分析函数 出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对 分析函数 做一些具体的说明. 今天我主要给大家介绍一下以下几个函数的使用方法 1. 自动汇总函数rollup,cube, 2. rank 函数, rank,dense_rank,row_number 3. lag,lead函数 4. sum,avg,的移动增加,移动平均数 5. ratio_to_report报表处理函数 6. first,last取基数的 分析函数 基础数据 Code: [Copy to clipboard] 06:34:23 SQL> select * from t; BILL_MONTH AREA_CODE NET_TYPE LOCAL_FARE --------------- ---------- ---------- -------------- 200405 5761 G 7393344.04 200405 5761 J 5667089.85 200405 5762 G 6315075.96 200405

十九、oracle pl/sql简介

本小妞迷上赌 提交于 2020-03-05 22:09:14
一、pl/sql 是什么 pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展。 pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。 二、为什么要学pl/sql 1.提高应用程序的运行性能 2.模块化的设计思想(分页的过程,订单的过程,转账的过程。。) 3.减少网络传输量 4.提高安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露。PL/SQL就不会) 三、Oracle为什么在PL/SQL developer执行很快,用c# oracleclient执行就慢 因为PL/SQL这门语言是专门用于在各种环境下对Oracle数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。 而c#语言是微软的产品,它在连接ORACLE的时候先存到“连接池”中,所以第一次会慢点,但是当你的Web程序没有重起的时候,以后的速度就不会慢了。 四、使用pl/sql的缺点 移植性不好(换数据库就用不了) 五、pl/sql理解 1)、存储过程、函数、触发器是pl/sql编写的 2)、存储过程、函数、触发器是存在oracle中的 3)、pl/sql是非常强大的数据库过程语言 4)、存储过程、函数可以在java中调用 六

[Java面试十二]数据库概念相关

南楼画角 提交于 2020-03-05 12:54:02
1. 什么是存储过程?它有什么优点? 答:存储过程是一组予编译的 SQL 语句, 它的优点有: 允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。 允许更快执行,如果某操作需要执行大量 SQL 语句或重复执行,存储过程比 SQL 语句执行的要快。 减少网络流量,例如一个需要数百行的 SQL 代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。 更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。 2. oracle的 存储过程和函数有什么区别? Oracle 中的函数与存储过程的 区别 : A: 函数必须有返回值 , 而过程没有 . B: 函数可以单独执行 . 而过程必须通过 execute 执行 . C: 函数可以嵌入到 SQL 语句中执行 . 而过程不行 . 其实我们可以将比较复杂的查询写成函数 . 然后到存储过程中去调用这些函数 . Oracle 中的函数与存储过程的 特点 : A. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 B. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。 C. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于 FROM 关键字的后面。 3. 什么是事务? 答

共享池中保留池的调整(shared_pool_reserved_size)

試著忘記壹切 提交于 2020-03-05 05:39:05
--************************************************* -- 共享池中保留池的 调 整 (shared_pool_reserved_size) --************************************************* 1 . 何 谓 保留池 简 言之,保留一部分 内 存空 间 以 备 不 时 之需。通常情 况 下, Oracle 会将 大的 内 存 请 求分割成小的 内 存 块来满 足需求。而 对 于大的 内 存且 为连续 的 内 存空 间请 求,如果在共享池中未找到, 则会动 用 共享池中的保留池。 当 然,共享池在 内 存 压 力的情 况 下,也 会 使用到 保留池中的部分。保留池部分 满 足 较 大的 内 存需求更高效。缺省情 况 下, Oracle 会 配置 较 小的保留池, 这 部分可以用作 PL/SQL 或 触发 器 编译 使用或用于装 载 JAVA 对 象的 临时 空 间 。 这 些分配出去的 内 存一旦 释 放后 将 返回 给 保留池。 任意大于 "_shared_pool_reserved_min_alloc = 4400" 字 节 的 连续内 存分配 请 求,如果 shared_pool 中分配不能解 决 ,且 当 前 shared_pool 中 没 有可用的 块 能 够 aged