
Oracle
常见Oracle问题
绣花针
心有猛虎,细嗅蔷薇
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Oracle之视图、同义词、序列、索引
一、视图(窗口,遮蔽一些不需要的数据)1.定义视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL。视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。2.作用(1)提供各种数据表现形式...原创 2019-01-12 14:21:57 · 348 阅读 · 0 评论 -
Oracle之数据的导入与导出
一、导出1.cmd命令(1)整库导出 full=y --将数据库TEST完全导出,用户名system 密码manager 导出到D:\export.dmp中 exp system/manager@TEST file=d:\export.dmp full=y(2)按照用户导出 owner=用户名1,用户名2,... --将数据库中system用户与sys用...原创 2019-01-12 15:01:44 · 302 阅读 · 0 评论 -
Oracle之PL/SQL编程
一、语法 DECLARE --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 变量名 变量类型 变量名 变量类型 := 初始值; BEGIN -- 执行部分: 过程及SQL语句, 即程序的主要部分 EXCEPTION -- ...原创 2019-01-12 19:53:38 · 195 阅读 · 0 评论 -
Oracle之游标(结果集)
一、概念游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果,相当于JDBC中的ResultSet二、作用用于定位结果集的行和遍历结果集三、定义 --定义游标 cursor 游标名 ( 参数 ) [返回值类型] is select语句;四、使用 1.普通游标使用步骤 --普通游标使用步骤 1. 声明游...原创 2019-01-12 20:39:53 · 4512 阅读 · 0 评论 -
Oracle之例外(异常)
一、概念异常,程序运行过程中发生异常。异常是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性 declare --声明变量 begin --业务逻辑 exception --处理异常 when 异常1 then ... when 异常2 then ... ...原创 2019-01-12 21:11:38 · 457 阅读 · 0 评论 -
Oracle之存储过程与存储函数
一、存储过程(不可以通过return返回函数值)1.定义存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure2.创建语法 create [or replace] procedure 存储过程名 [(参数1 in|out 类型,参数2 in|out 类型..)] --in输入参数,out输出参数 is|as ...原创 2019-01-12 21:42:57 · 799 阅读 · 0 评论 -
Oracle之DQL基本查询(select from where group by having order by)
一、基本查询语句1.SQL编写顺序 select [列名] [*] from 表名 [where 条件] [group by 分组条件] [having 对分组进一步过滤] [order by 排序]2.SQL执行顺序 from.. where.. group by.. having.. select.. order by..二、虚表dual...原创 2019-01-07 19:57:06 · 672 阅读 · 0 评论 -
Oracle之触发器
一、定义数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(insert,update,delete)在指定表上发出时,Oracle自定地执行触发器中定义的语句序列。简单的来说就当某个条件成立的时候,触发器里面所定义的语句就会被自动的执行,因此触发器不需要人为的去调用,也不能调用。二、作用1.数据校验员工涨薪后工资不能少于涨薪前工资2.进行复...原创 2019-01-13 14:40:38 · 438 阅读 · 0 评论 -
Oracle之树级查询level与connect by(最近x天/月/年)
一、levellevel关键字,代表树形结构中的层级编号;第一层是数字1,第二层数字2,依次递增二、connect by1.语法 select * from table [start with condition1] connect by [prior] id=parentid一般用来查找存在父子关系的数据,也就是树形结构的数据;其返还的数据也能够明确的...原创 2019-01-13 15:02:31 · 2587 阅读 · 0 评论 -
Oracle之函数
一、单行函数(对列中某个值处理)1.数值函数 函数 描述 示例 ABS(X) X的绝对值 ABS(-8)=8 ACOS(X) X的反余弦 ACOS(1)=0 COS(X) 余弦 ...原创 2019-01-08 20:52:08 · 255 阅读 · 0 评论 -
Oracle之TPL事务操作(savepoint/commit/rollback to)
declare begin insert into louti values(1); insert into louti values(2); insert into louti values(3); insert into louti values(4); insert into louti values(5); savepoint d...原创 2019-01-11 20:19:04 · 489 阅读 · 0 评论 -
Oracle之DML操作表(insert/update/delete/truncate)
一、插入数据1.普通插入数据 insert into 表名 values(所有列的值都要对应写上); insert into 表名(列1,列2) values(值1,值2);2.使用子查询语句插入数据 --使用子查询插入数据 insert into 表名 查询语句; --将emp中10号部门的员工信息,插入到emp1中 ins...原创 2019-01-11 20:08:48 · 442 阅读 · 0 评论 -
Oracle之子查询(嵌套查询select嵌套)
一、单值子查询(> >= = < <= <> 子查询的结果为1个数据) --查询最高工资的员工信息 --1.查询出最高工资 --5000 select max(sal) from emp; --2. 工资等于最高工资 select * from emp where sal = (select max(sal) fr...原创 2019-01-10 15:29:18 · 15711 阅读 · 0 评论 -
Oracle之伪列rownum和rowid
一、rownum(伪列,查询结果集后添加)1.rownum是oracle中特有的伪列,是在获取查询结果集后添加的一个从1开始的序列号 select rownum,e1.* from emp e1;2.rownum是动态的,先有查询结果,然后再给查询的结果集添加上这个列rownum是一个序列,是Oracle数据库从数据文件或缓冲区中读取数据的顺序。它取得第一条记录则row...原创 2019-01-10 21:54:13 · 412 阅读 · 0 评论 -
Oracle之分页查询
分页查询在Oracle中实现分页的方法大致分为两种,用ROWNUM关键字和用ROWID关键字1.ROWNUMSELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (SELECT * FROM TABLE_Name WHERE Name_ID = ...原创 2019-01-10 21:58:43 · 4305 阅读 · 0 评论 -
Oracle之集合运算
一、并集(union union all 两个集合中列的类型|顺序|数量要一致)1.union(AUB-A∩B 将多个查询的结果组合到一个查询结果之中,并去掉重复值) --工资大于1500,或者20号部门下的员工 select * from emp where sal > 1500 or deptno=20; select * from emp wh...原创 2019-01-11 09:35:21 · 351 阅读 · 0 评论 -
Oracle之用户角色(connect/resource/dba)
角色角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理,假定有用户a,b,c为了让他们都拥有权限:连接数据库和在scott.emp表上select,insert,update。 如果采用直接授权操作,则需要进行12次授权。 因为要进行12次授权操作,所以比较麻烦!怎么办呢? 如果我们采用角色就可以简化: 首先将creat session,select on scott.emp...原创 2019-01-11 11:18:15 · 2233 阅读 · 0 评论 -
Oracle之体系结构
一、数据库Oracle数据库是数据的物理存储。包括(数据库文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其他数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作Oracle就只有一个大数据库。二、实例一个Oracle实例(Oracle Instance)有一系列的后台进程(Background Process)和内存结构(Memory St...原创 2019-01-06 19:22:14 · 209 阅读 · 0 评论 -
Oracle之单引号与双引号
一、单引号1.引用一个字符串常量,也就是界定一个字符串的开始和结束 select * from t_sys_user where id='15'; --查询id为15的字符 select * from t_sys_score where id=15; --查询id为15的整形数字2.转义符,对紧随其后出现的字符(单引号)进行转义 select ' ...原创 2019-01-07 09:05:41 · 3614 阅读 · 3 评论 -
Oracle之DDL管理表(create/alter/drop)
一、Oracle体系结构二、表空间管理1.创建表空间 --创建表空间 create tablespace 表空间名称 datafile '数据文件名' size 表空间大小 autoextend on(自动扩展) next 每次扩展的大小;2.删除表空间 --删除表空间 drop tablespace ...原创 2019-01-11 19:57:36 · 977 阅读 · 0 评论 -
Oracle之多表查询
一、笛卡尔积(两张表乘积,没有实际意义)格式 --笛卡尔积 select * from 表1,表2,...; --笛卡尔积 select * from emp; --14条记录 select * from dept; --4条记录 select * from emp,dept; --56条记录,无意义 select * from ...原创 2019-01-08 22:37:03 · 142 阅读 · 0 评论