随笔分类 - Oracle
摘要:Oracle常用查询语句 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>se
阅读全文
摘要:转载自 Oracle入门级知识详解 一. Oracle基本介绍 1. 什么时候用Oracle数据库? SQL SERVER 号称百万级数据(一个表的数据),但是其实做多20万条数据 超过20万条数据就用Oracle 2. Oracle的版本 Oracle8i/9i(internet)基于网络的; O
阅读全文
摘要:转载自 sql中索引不会被用到的几种情况 1、查询谓词没有使用索引的主要边界,换句话说就是select *,可能会导致不走索引。 比如,你查询的是SELECT * FROM T WHERE Y=XXX;假如你的T表上有一个包含Y值的组合索引,但是优化器会认为需要一行行的扫描会更有效,这个时候,优化器
阅读全文
摘要:转载自 Oracle的分页实现 在Oracle中实现分页的方法大致分为两种,用ROWNUM关键字和用ROWID关键字,下面来详细介绍一下: 1、ROWNUM 其代码为: SELECT * FROM (SELECT ROW_.*, ROWNUM ROWNUM_ FROM (SELECT * FROM
阅读全文
摘要:转载自 PL/SQL之JOB用法 (定时跑数据) 一、DBMS_Job包的用法 包含以下子过程: Broken()过程。 change()过程。 Interval()过程。 Isubmit()过程。 Next_Date()过程。 Remove()过程。 Run()过程。 Submit()过程。 Us
阅读全文
摘要:一、锁的概念 锁是数据库用来控制共享资源并发访问的机制。锁用于保护正在被修改的数据直到提交或回滚了事务之后,其他用户才可以更新数据 二、锁定的优点 一致性 - 一次只允许一个用户修改数据完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户并行性 -允许多个用
阅读全文
摘要:一、触发器需要特权要在模式中创建触发器,需要: •CREATE TRIGGER系统特权 •触发器主体中引用的其他架构中的对象的普通对象特权(SELECT,UPDATE,EXECUTE等) •与触发器关联的表或视图上的ALTER特权。 触发器主体中的语句使用触发器所有者的特权,而不是执行触发触发器的操
阅读全文
摘要:一、什么是DML触发器?DML触发器是执行SQL DML语句(INSERT,UPDATE或DELETE)时自动触发(执行)的触发器。 您可以通过两种方法对DML触发器进行分类: •执行时间:BEFORE,AFTER或INSTEAD触发DML语句。 •它们执行的次数:一次对于整个DML语句(一个语句触
阅读全文
摘要:一、使用条件谓词 在上文中,看到了一个触发器,可以防止在周末插入EMPLOYEES: CREATE OR REPLACE TRIGGER secure_emp BEFORE INSERT ON employees BEGIN IF TO_CHAR(SYSDATE,'DY') IN ('SAT','S
阅读全文
摘要:一、触发器的需求让我们从一个例子开始吧:一条业务规则规定,只要员工的工资发生变化,变更就必须记录在日志记录表中。 可以创建两个过程来执行此操作: UPD_EMP_SAL更新工资,LOG_SAL_CHANGE将行插入日志表。可以从UPD_EMP_SAL中调用LOG_SAL_CHANGE,或者从调用环境
阅读全文
摘要:一、PROCEDURE 参数模式参数模式在形式参数声明中指定,位于参数名称之后,位于其数据类型之前。 参数传递模式: •IN参数(默认值)为子程序提供处理值。 •OUT参数将值返回给调用者。 •IN OUT参数提供一个输入值,该值可以作为修改值返回(输出)。 二、默认模式:IN 如果没有指定模式,I
阅读全文
摘要:一、异常类型 本文讨论用户定义的错误。 二、捕获用户定义的异常 PL / SQL允许你定义你自己的异常。 您根据应用程序的要求定义异常。 输入数据期间需要用户定义的异常的一个示例。 假设您的程序提示用户输入部门编号和名称,以便它可以更新部门的名称。 当用户进入无效部门时会发生什么? 该代码不会产生O
阅读全文
摘要:一、异常类型 本课讨论预定义和非预定义的Oracle服务器异常。 (1)使用PL / SQL处理异常有两种提出异常的方法: •Oracle服务器隐式(自动): - 发生Oracle错误并自动引发相关异常。 - 例如,如果在SELECT语句中没有从数据库中检索行时发生错误ORA-01403,则PL /
阅读全文
摘要:一、什么是异常? 在执行破坏程序正常运行的程序期间发现错误时会发生异常。 有很多可能的例外原因:用户在输入时出现拼写错误; 程序无法正常工作; 广告网页不存在; 等等。 你能想到在使用网站或应用程序时遇到的错误吗? 二、PL / SQL中的异常 这个例子工作正常。 但是如果你进入“韩国,南方”而不是
阅读全文
摘要:一、游标FOR循环 游标FOR循环处理显式游标中的行。 这是一个快捷方式,因为游标被打开,循环中的每次迭代都会获取一次行,当处理最后一行时会退出循环,并且游标会自动关闭。 当最后一行被提取时,循环本身在迭代结束时自动终止。 (1)语法 FOR record_name IN cursor_name L
阅读全文
摘要:一、游标和记录 此示例中的游标基于SELECT语句,该语句仅检索每个表行的两列。 如果它检索了六列或七,八,二十个呢? DECLARE v_emp_id employees.employee_id%TYPE; v_last_name employees.last_name%TYPE; CURSOR
阅读全文
摘要:一、上下文区域和游标Oracle服务器分配一个称为上下文区域的私有内存区域来存储由SQL语句处理的数据。 每个上下文区域(因此每个SQL语句)都有一个与其关联的游标。您可以将游标视为上下文区域的标签,或者将其作为指向上下文区域的指针。 事实上,一个游标就是这两个项目。 二、隐式和显式游标有两种类型的
阅读全文
摘要:一、WHILE循环您可以使用WHILE循环重复一系列语句,直到控制条件不再为TRUE。 条件在每次迭代开始时进行评估。 当条件为FALSE或NULL时,循环终止。 如果条件在循环开始时为FALSE或NULL,则不会执行进一步的迭代。 WHILE condition LOOP statement1;
阅读全文
摘要:一、迭代控制:LOOP语句 循环多次重复一个语句或一系列语句。 PL / SQL提供了以下几种类型的循环:•没有全面条件执行重复操作的基本循环 •FOR循环,基于计数器执行迭代操作 •WHILE循环根据条件执行重复操作 二、基本循环LOOP语句的最简单形式是基本(或无限)循环,它在关键字LOOP和E
阅读全文
摘要:一、目的良好的编程实践是可以遵循的技术来创建最佳代码。 编程实践涵盖了从编写更易读的代码到创建具有更快性能的代码。 软件工程团队通常会遵循风格指南,以便团队中的每个人都使用相同的技术。 这使得读取和修改其他人编写的代码变得更加容易。 二、编程实践您已经在本课程中学到了一些很好的编程实践: •转化:
阅读全文