SQL
INSERT
一次创建一行。
INSERTINTOemployees VALUES
(9999,'Bob','Builder','bob@abc.net',NULL,SYSDATE,
'IT_PROG',NULL,NULL,100,90);
· 插入另一个表中的多行。(SELECT 语句中选择的各个值与要插入的表中的各个列相关联。列值按 INSERT 和 SELECT 语句中指定的顺序进行匹配
insertintodept_80 (select*fromemployees  
wheredepartment_id =80); 
UPDATE
使用 UPDATE 命令可更改表的零行或多行
updateemployees 
setsalary =salary *1.1
whereemployee_id=101;
DELETE 
使用 DELETE 命令可从表中删除零行或多行。
deletefromemployees
whereemployee_id=101;
MERGE
使用 MERGE命令可在一个命令中执行 UPDATE和 INSERT。可将一个源中的数据合并到另一个源
1MERGE INTOjobs j
2USING (SELECT*FROMjobs_acquisition) a
3ON(j.job_id=a.job_id)
4WHENMATCHED THENUPDATESETj.job_title=a.job_title
5WHENNOTMATCHED THENINSERT
6(j.job_id,j.job_title,j.min_salary,j.max_salary)
7VALUES(a.job_id,a.job_title,a.min_salary,a.max_salary)
COMMIT:提交更改,
ROLLBACK:回滚操作,撤销更改
PL/SQL(涉及到SQL开发,如果仅考试可以浅层掌握)
概览:PL/SQL是oracle中的过程化编程语言,为oracle数据库和应用程序提供了一种公共额编程环境,适用于所有的操作系统或者硬件平台。他的主要特征如下:
1、对 SQL 的过程扩展
2、平台和产品间的可移植性
3、更高级别的安全性和数据完整性保护
4、支持面向对象的编程
管理 PL/SQL 对象(em中  “Administration(管理)--->program(程序))
PL/SQL 数据库对象有多种类型:
程序包:程序包是由逻辑关系上相关的一些过程和函数组成的集合,程序包的这一部分又称为说明,用于描述应用程序的借口;他声明了可供使用的类型、变量、常量、异常错误、游标和子程序;
程序包体:程序包体完整的定义了游标和子程序,因此试试了说明,程序包体包含了实施明细和专用申明,这些内容不现实给调用方。
类型主体:类型主体是由与用户定义的数据类型相关联的一些方法(过程和函数)组成的集合;
过程:过程是用于执行特定操作的PL/SQL块;
函数:函数是使用RETURN PL/SQL 命令返回单个值的 PL/SQL 块。它是具有返回值的过程;
过程:(用于执行特定操作,使用参数列表传入和传出值。可是使用CALL(SQL)或EXECUTE调用(SQL*PLUS));
触发器:触发器是当数据库中发生特定事件时执行的PL/SQL块,这些时间可以基于表,如果表中插入行时,可以可是数据库时间,如在用户登录数据库时。
程序包(程序包是由函数和过程组成的集合。每个程序包由程序包体和程序包说明组成)
内置程序包(管理和维护实用程序,扩展功能)
DBMS_STATS:用于收集、查看和修改优化程序统计信息
DBMS_OUTPUT:通过 PL/SQL 生成输出
DBMS_SESSION:通过PL/SQL 访问 ALTER SESSION 和 SET ROLE语句
DBMS_RANDOM:生成随机数字
DBMS_UTILITY:获取时间、CPU 时间和版本信息;计算散列值,以及执行许多其它功能
DBMS_SCHEDULER:调度可从 PL/SQL 调用的函数和过程
DBMS_CRYPTO:对数据库数据进行加密和解密
UTL_FILE:通过 PL/SQL 读写操作系统文件
触发器(触发器是存储在数据库中的 PL/SQL 代码对象,它们会在某些事件发生时自动运行或“触发”。)
触发器触发事件:
DML(insert、update/delete)、DDL(create,drop,alter,grant,revoke,rename)和数据库事件(logon,logoff,startup,shutdown,servererror,suspend)
PL/SQL的结构如下:
DECLARATIVE 
----声明部分:在此声明PL/SQL中使用到的变量、类型、及游标,以及局部变量中的存储过程和函数
BEGIN
----执行部分:过程及SQL语句,及程序的主要部分
EXCPTION
----执行异常部分:错误处理
END;
其中,执行部分不能省略;
锁定 
概览
使用锁定可防止多个会话同时更改同一数据。
锁定是在指定语句的最低可能级别自动获取的。
锁定不会升级。
锁定机制
执行插入、更新和删除时使用行级锁定
查询不需要任何锁定
自动队列管理
在事务处理(使用 COMMIT 或 ROLLBACK 操作)结束之前一直保留锁定
数据并发处理
默认情况下,锁定机制采用细粒度行级锁定模式。不同的事务处理可在同一个表内更新不同的行,彼此不相互干扰。
锁定模式
ROW SHARE:允许并发访问锁定的表,但禁止会话锁定整个表进行独占访问。
ROW EXCLUSIVE:与 ROW SHARE 相同,但是还禁止以 SHARE模式锁定。更新、插入或删除数据时会自动获取ROW EXCLUSIVE 锁定。
SHARE:允许并发查询,但禁止更新锁定的表。需要有(并且会自动请求)SHARE锁定才能创建表的索引。
SHARE ROW EXCLUSIVE:用于查询整个表,允许其他人查询表中的行,但禁止其他人在 SHARE 模式下锁定表或更新行。
EXCLUSIVE:允许查询锁定表,但禁止对锁定表执行任何其它活动。需要有EXCLUSIVE 锁定才能删除表。
手动锁定:LOCK TABLE employees IN EXCLUSIVE MODE;
DML锁定:
针对正在更新的一行或多行的 EXCLUSIVE 行锁定
针对包含这些行的表的 ROW EXCLUSIVE 表级锁定
排队机制
1、等待锁定的会话
2、请求的锁定模式
3、请求锁定的会话的顺序
锁定冲突
锁定冲突的可能原因
1、未提交更改
2、长时间运行事务处理
3、不必要的高锁定级别
4、检测锁定冲突
在“Performance(性能)”页选择“Blocking Sessions(阻塞会话)”。
解决锁定冲突
1、提交或回退持有锁定的会话
2、终止持有锁定的会话
em    kill session键
sql
SQL> select sid, serial#, username
from v$session where sid in
(select blocking_session from v$session)
------------------------------------------------------
alter system kill session '144,8982' immediate;
附录:PL/SQL结构与实例
http://www.cnblogs.com/rhino1030/archive/2011/11/12/2246741.html

转载于:https://www.cnblogs.com/rhino1030/archive/2011/11/12/2246738.html

oracle 042 第八章:管理数据和并发处理相关推荐

  1. oracle数据库第八章答案,Oracle培训(三十)——Oracle 11g 第八章知识点小结——处理数据...

    Oracle培训(三十)--Oracle 11g 第八章知识点总结--处理数据 Oracle 11g 第八章知识点总结--处理数据 知识点预览 复习 处理数据 复习 --建表t_user create ...

  2. oracle aud$ 清理,Oracle如何迁移、管理、清除Audit数据(AUD$和FGA_LOG$表)

    Oracle如何迁移.管理.清除Audit数据(AUD$和FGA_LOG$表) Oracle如何迁移.管理.清除Audit数据(AUD$和FGA_LOG$表) 前言 版本:11.2.0.4.0. Or ...

  3. oracle保留款数据,系列之五:ORACLE EBS 系统主数据管理(B) - season的日志 - 网易博客...

    ORACLE EBS 系统主数据管理 五.结语 (三)Item 的类别(Category) 上面所讲到的Item编码中的分类(UNSPSC),一般来说还不是系统(各应用功能模块)中真正使用到的类别,原 ...

  4. OCA读书笔记(9) - 管理数据同步

    9.Managing Data Concurrency 描述锁机制以及oracle如何管理数据一致性 监控和解决锁冲突 管理数据的并发--管理锁 数据的不一致: 脏读 更改丢失 幻影读 脏读: 数据是 ...

  5. 第39章 数据的并发处理

    第39章 数据的并发处理--锁的机制 当用户对表中的数据操作时,会暂时锁定,等到该用户使用完成后才会解锁 查看是否有锁定冲突 select taddr,sid,serial#,seconds_in_w ...

  6. oracle系列(三)oracle的配置与管理

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:我们前面学习了安装oracle以及 ...

  7. 创建emp表 oracle,Oracle中创建和管理表详解

    Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16   作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...

  8. 2.oracle物理结构,oracle实验2oracle物理结构管理

    oracle实验2oracle物理结构管理 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 实验2 oracle物理存储结构管理.实验目 ...

  9. Oracle 21C 新特性:数据泵相关新特性汇总

    墨墨导读:本文来自墨天轮用户"JiekeXu"投稿,墨天轮主页:https://www.modb.pro/u/434,本文分享Oracle 21c 新特性:数据泵相关新特性汇总. ...

最新文章

  1. oracle中怎么查看存储过程的源码
  2. 如何查看python安装了什么库-怎么看python安装了哪些库
  3. Hibernate懒加载
  4. LIS最长上升子序列
  5. RBSP、SODB、EBSP三者的区别和联系 SPS: sequence parameter sets
  6. html-网页基本标签
  7. mysql 跨实例复制数据_社区投稿 | MySQL 跨实例 copy 大表解决方案
  8. mysql5.5.20安装_mysql5.5.20安装文档
  9. C++---内存泄漏与防范
  10. VC++黑客编程收集的源码集合,只有你想不到的
  11. 第一课----色彩构成与色彩模式
  12. Spring Cloud微服务技术栈学习(导读)
  13. agent实现apm上报
  14. 【寻找最佳小程序】01期:影视评分小工具“豆瓣评分”——产品设计要点及专家评析
  15. mac idea Tomcat 内网映射解决方案
  16. color a dir/s_小米手表Color运动版详细评测 比标准版加量减价在哪里?|屏幕|小米手表color|小米手表|小米|续航...
  17. 老毛桃重启计算机没反应,老毛桃怎么用
  18. 用计算机收传真,怎么在电脑上发传真 在电脑上接收传真方法介绍【详细步骤】...
  19. 【毕业设计】深度学习+python+opencv实现动物识别 - 图像识别
  20. HINSTANCE,HWND、HMODULE 详解

热门文章

  1. java中gettext方法_深入理解Java中方法的参数传递机制
  2. python代码注释规范-Python编程规范之注释
  3. 电脑主页面上的计算机没了,电脑界面上的internet explorer 没有了
  4. java与数据库的数据交互,Java与数据库初步交互(后续需要进行优化)
  5. java synchronized 参数_java – 将参数传递给synchronized块的目的是什么?
  6. sublime press key “escape” can't type anything
  7. python新闻分类:多分类问题
  8. 猪肉新鲜度光谱特征指数构建及敏感性分析
  9. 判别器loss为0_scikitlearn—线性判别分析和二次判别分析
  10. 教你快速运行谷歌EfficientDet目标检测