
Oracle
_Zephyrus_
﹎ゞWhy insist, think about the beginning/╱°
展开
-
DBA常用命令行
Oracle笔记 二、常用dba命令行1、给用户解锁alter user scott account unlock;2、注销、断开、切换当前用户连接quitconn scott/tiger3、用户权限查询A .查看所有用户:select * from dba_users;select * from all_users;select * from user_users;B.查看...原创 2018-12-04 15:23:54 · 762 阅读 · 0 评论 -
ORACLE汉字转拼音方法
create or replace FUNCTION FN_GETPY(p_str IN VARCHAR2, p_flag NUMBER DEFAULT NULL) RETURN VARCHAR2 AS v_compare VARCHAR2(4); v_return VA...原创 2018-12-28 11:04:13 · 19221 阅读 · 0 评论 -
分析函数
SELECT ename, deptno, sal, SUM(sal) OVER (ORDER BY deptno,ename) 总计,SUM(sal) OVER (PARTITION BY deptno ORDER BY ename) 分部门总计,ROW_NUMBER() OVER(PARTITION BY deptno ORDER BY ename) 序列FROM scott.emp ...原创 2018-12-28 14:30:05 · 331 阅读 · 0 评论 -
插入记录
数据操纵语言DML当需要向数据库中添加、更新或删除数据时,需要执行数据库操纵语言DML。DML是SQL的核心部分,它包含如下几种常见的操作语句INSERT:向表中添加行UPDATE:更新存储在表中的数据DELETE:删除现有的行MERGE:插入所有的行到另一个具有现存记录的表,如果要插入的行的健匹配已存在行,则更新已存在的行而不是插入一个新行在操作DML语句通常一次只能操作一个表,使...原创 2018-12-26 09:10:37 · 398 阅读 · 0 评论 -
数据库与数据仓库
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。所谓的(1) 面向主题:指数据仓库中的数据是按照一定的主题域进行组织。(2)集成:指对原有分散的数据库数据经过系统加工, 整理得到的消除源数据中的不一致性。(...原创 2019-01-22 11:42:42 · 250 阅读 · 0 评论 -
sql 切片
selectsubstr(t.xkkh,15,instr(t.xkkh,'-',1,4)-15) dm,substr(t.kb, 1, instr(t.kb, '<', 1) - 1) mc,substr(t.kb, instr(t.kb, '>', 1, 3) + 1, length(t.kb) - instr(t.kb,...原创 2019-03-21 17:01:20 · 2073 阅读 · 0 评论 -
Oracle将数字范围遍历
create or replace function get_zc1(s varchar2) return VARCHAR2 isstr varchar2(4000);num_start int := substr(s, 0, instr(s, '-') - 1);--开始位置num_end int := substr(s, instr(s, '-') + 1, length(s));-...原创 2019-03-21 17:06:08 · 385 阅读 · 0 评论 -
Oracle 序列
--创建序列的语法 -- create sequence [user.]sequence_name [increment by n] [start with n] [maxvalue n | nomaxvalue] [minvalue n | nominvalue]; --修改序列的语法--alter sequence [user.]sequence_...原创 2019-04-10 17:27:20 · 99 阅读 · 0 评论 -
Oracle 查看表空间使用率
Oracle 查看表空间使用率SELECT a.tablespace_name 表空间名, total 表空间大小, free 表空间剩余大小, (total - free) 表空间使用大小, ROUND((total - free) / total, 4) * 100 使用率...原创 2019-04-23 10:45:16 · 181 阅读 · 0 评论 -
ORACLE生成uuid
创建CREATE OR REPLACEFUNCTION get_uuidRETURN VARCHARISguid VARCHAR (50);BEGINguid := lower(RAWTOHEX(sys_guid()));RETURNsubstr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||su...原创 2019-05-27 16:24:31 · 953 阅读 · 0 评论 -
Oracle表结构分析
一、源表分析查询统计业务系统的表名、表中文名、数据量,字段数,非空字段数,主键字段SELECT '数据表' AS 数据结构类型, A.TABLE_NAME AS 表名, C.COMMENTS AS 中文名, B.NUM_ROWS AS 数据量, A.ZDS AS 字段数, CASE WHEN D.FKZDS IS NULL THEN 0 ELSE D.FKZDS EN...原创 2019-05-23 15:43:24 · 551 阅读 · 0 评论 -
oracle小记
sum(t.yjje) over( PARTITION by t.xh order by t.xh,substr(t.sfqjdm,1,4),t.sfqjmc,t.sfxmmc) as yjljje,--应sum(t.sjje) over( PARTITION by t.xh order by t.xh,substr(t.sfqjdm,1,4),t.sfqjmc,t.sfxmmc) as sjj...原创 2019-05-31 11:25:47 · 147 阅读 · 0 评论 -
oracle 中如何查看某个表所涉及的存储过程
SELECT DISTINCT * FROM user_sourceWHERE TYPE = 'PROCEDURE'AND upper(text) LIKE '% XXXX %';原创 2019-06-15 17:41:03 · 1559 阅读 · 0 评论 -
Oracle创建表空间及用户
CREATE TEMPORARY TABLESPACE test_TEMP TEMPFILE '/opt/oracle/oradata/orcl/test.dmp' SIZE 32M AUTOEXTEND ON NEXT 32M MAxSIZE UNLIMITED EXTENT MANAGEMENT...原创 2019-07-15 16:08:21 · 135 阅读 · 0 评论 -
SQL优化
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引 - 尝试下面的技巧以避免优化器错选了表扫描: - 使用ANALYZE TABLEtbl_name为扫描的表更新关键字分布。 - 对扫描的表使用FORCEINDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。 ...原创 2019-07-11 14:16:04 · 177 阅读 · 0 评论 -
oracle BLOG图片和CLOG base64码的转换
--BASE64转图片CREATE OR REPLACE FUNCTION DECODE_BASE64(P_CLOB_IN IN CLOB) RETURN BLOB ISV_BLOB BLOB;V_OFFSET INTEGER;V_TEM_CLOB CLOB;V_BUFFER_VARCHAR VARCHAR2(32000);V_BUFFER_RAW RAW(32000);V_BUFF...原创 2019-07-30 17:28:24 · 588 阅读 · 0 评论 -
Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法
原因一般在用户修改记录之前,悲观锁就会发生作用,比如修改select * from test for update执行命令后,oracle 将会对返回集中的数据建立行级封锁,以防止其他用户修改这些记录。这时如果对这张表进行 DDL 操作将就会报 ORA-00054 错误。一张表如果加了表级锁,那么就不允许对该表进行任何的 DDL 操作,否则也会报 ora-00054 错误解决找出被...原创 2019-08-01 14:05:10 · 223 阅读 · 0 评论 -
复杂查询
多表链接查询在SQL中,操作多个表的数据称为连接。在Oracle中有两种类型的连接格式。分别为ANSI SQL连接格式和Oracle特有的连接格式。Oracle建议使用符合ANSI标准的连接格式。内连接SELECT emp.empno,emp.ename,emp.job,emp.hiredate,emp.sal,dept.dname, dept.deptnoFROM scott.emp,s...原创 2018-12-17 17:52:10 · 387 阅读 · 0 评论 -
查询-(续)
分组统计SELECT 语句具有一个可选的GROUP BY 子句,配合统计函数,可以实现分组统计查询SELECT deptno, SUM(sal) 部门薪资小计 FROM emp GROUP BY deptno;在使用GROUP BY 子句时,除了作为分组函数参数的列不用包含在GROUP BY子句中之外,任何在SELECT 列表中的其他列都必须包括在组函数中。分组结果通过分组列隐式排序,也...原创 2018-12-11 11:04:33 · 142 阅读 · 0 评论 -
Linux设置Oracle开机自启动
1、编辑oratab找到oratabfind -name oratab路径前面的"."是指的用户路径,我的是/app切换到对应路径cd /app/oracle11g/product/11.2.0/dbhome_1/install/编辑oratabvim oratab将orcl:/app/oracle11g/product/11.2.0/dbhome_1:N中的N改为Y按"Es...原创 2018-11-29 11:06:27 · 206 阅读 · 0 评论 -
CentOS7.5安装oracle实例
关闭防火墙[root@localhost /]# systemctl stop firewalled service[root@localhost /]# systemctl disable firewalled service关闭selinux[root@localhost /]# yum install vim[root@localhost /]# vim /etc/selinux...原创 2018-11-29 11:17:08 · 2150 阅读 · 0 评论 -
Oracle数据库Scott和HR用户下的表字段及其含义
ScottBONUS表(工资表)ENAME是雇员姓名.最多由10个字符所组成;JOB是雇员职位最多由9个字符所组成;SAL是雇员基本工资.NUMBER表示数字位数没有限制;COMM是奖金、提成.NUMBER表示数字位数没有限制;该表没有L键约束和外键约束,默认也没有数据。DEPT表(部门表)DEPTNO是部门编号.由两位数字组成:DNAME是部门名称.最多由14个字符所组成;L...原创 2018-11-29 17:02:08 · 1224 阅读 · 0 评论 -
ORACLE主键约束
在约束中使用函数和布尔运算符create table invoice_check_others( invoice_id number, invoice_name varchar2(20), invoice_type int, invoice_clerk varchar2(20), invoice_total number(9...原创 2018-12-04 15:11:26 · 1133 阅读 · 0 评论 -
ORACLE-修改表
修改表列使用alter table语句修改表列向表中添加新的列修改已经存在的列的类型或数据范围删除已经存在的列重命名表列新增表列可以使用如下alter table语句,在添加定义列时可以定义列属性,比如 not null 、unique 或check约束alter table invoice_check ADD invoice_name varchar2(20) check...原创 2018-12-04 16:26:56 · 171 阅读 · 0 评论 -
oracle基本操作
--select * from hr.EMPLOYEES;-- select * from hr.countries;--select * from hr.countries,hr.departments;--select region_id,country_name from hr.countries;--select employee_id, first_name, last_...原创 2018-11-30 11:38:32 · 154 阅读 · 0 评论 -
oracle基本函数
--INSERT into hr.JOBS(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY) values ('IT_TEST','测试员',3000.00,8000.00);--decs hr.JOBS-- INSERT INTO hr.JOBS values ('IT_DBA','数据库管理员',5000.00,15000.00);--INSERT INT...原创 2018-11-30 11:39:50 · 207 阅读 · 1 评论 -
oracle表、约束、空间、别名等
-- 建表/*create table userinfo( id number(6), name varchar2(3), sex number(1), age number(3), birthday date, address varchar2(50), email varchar2(30), phone number(11));*/--drop table use...原创 2018-11-30 14:36:09 · 440 阅读 · 0 评论 -
PL/SQL语句块、变量定义
简单SQL语句,HellWorld示例--输出信息set serveroutput on;begin dbms_output.put_line('Hello World!');end; --变量的定义、使用--定义变量set serveroutput on;declare sName varchar2(20);begin sName := 'jack'; dbm...原创 2018-11-30 14:55:35 · 356 阅读 · 0 评论 -
索引
索引索引是建立在数据库表中的一列或多列用来加速访问表中数据的辅助对象。使用索引有如下优点:索引可以大大加快检索数据的速度使用唯一索引可以保证数据库表中每一行数据的唯一性通过索引可以加快表与表之间的连接在使用分组和排序子句进行数据检索时,使用索引可以显著的减少查询分组和排序的时间索引原理在Oracle数据表中,每一张表都有一个ROWID伪列,这个ROWID是用为唯一标志一条记录所...原创 2018-12-05 14:09:39 · 132 阅读 · 0 评论 -
视图
视图简介视图是表的另一种表示形式,它通过使用select语句定义一个视图所需显示数据的虚表,这个虚表只有对视图的定义,并不包含实际的数据。可以说视图是在表的基础上用来展现数据的一种方式。它通过select语句使用来自一个或多个表中的数据创建逻辑表,只是一个“存储的查询”。在创建试图时,只是将视图的定义信息保存到数据字典中,并不将实际的数据复制到任何地方--建立view_dept_e视图CRE...原创 2018-12-10 11:34:15 · 601 阅读 · 0 评论 -
认识存储过程和函数
存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因为代码不保存在本地,用户可以在任何客户机上登...转载 2018-12-03 18:09:29 · 302 阅读 · 0 评论 -
提交和回滚记录
提交更改事务主要用来确保数据的一致性。任何三方失败都会导致数据的不一致,事务提供了一致性的机制,只要三方全部成功完成,操作便成功,所做的更改统一写回数据库,否则操作失败,用户所做的更改全部撤销。事务提供了更改数据时更令狐德控制能力,可以在任何情况下确保数据的一致性。Oracle在遇到第一个DML语句时,事务被隐式地开始,一般情况下,只有调用COMMIT或ROLLBACK语句时,事务才能结束。当...原创 2018-12-26 14:25:50 · 432 阅读 · 0 评论 -
SQL基本函数
字符型函数字符串处理函数原创 2018-12-26 15:51:49 · 136 阅读 · 0 评论 -
查询
SELECT 中基本的语法元素的含义SELECT:一个或多个字段的列表:选择所有列DISTINCT:禁止重复column|expression:选择指定的字段或表达式alias:给所选择的列不同的标题FROM table:指定包含列的表关键字、子句和语句的概念关键字引用一个或单个SQL元素,比如SELECT和FROM是关键字子句是SQL语句的一个部分,比如SELECT enam...原创 2018-12-11 09:28:36 · 142 阅读 · 0 评论 -
Oracle清空数据库所有对象(慎用)
create or replace PROCEDURE P_CLEANDB AS -- 删除表 CURSOR L1 IS select 'drop table '||table_name from cat where table_type='TABLE' and table_name not like 'BIN%'; L101 VARCHAR2(1000); ...原创 2019-08-29 08:59:30 · 467 阅读 · 0 评论