4-3修改数据和事务答辩.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
事务 事务保证数据的一致性,它由一组相关的DML语句组成,该组的DML语句要么全部成功,要么全部失败。 例如:网上转账就是典型的事务处理,保证数据一致性 commit Savepoint a1; Delete from emp where empno=9996; Select * from emp; Savepoint a2; Delete from emp where empno=9999; Rollback to a2; Rollback to a1; Savepoint a1 Commit Rollback to a1 执行commit可以提交事务,当执行了commit语句会确认事务的变化、结束事务、删除保存点、释放锁,当使用commit语句结束事务后,其他会话将可以查看事务变化后的新数据。 回退事务 保存点 事务中的一点用于取消部分事务,当结束事务时,自动删除该事务所有的保存点 执行rollback时,通过指定保存点可以回退到指定的点 设置保存点 Savepoint a 取消部分事务 Rollback to a 取消全部事务 Rollback 提交事务 commit INSERT /*+APPEND*/ INTO myemp(empno,ename,deptno) SELECT empno,ename,deptno from emp; INSERT FIRST WHEN deptno=10 THEN INTO emp10 WHEN deptno=20 THEN INTO emp20 WHEN deptno=30 THEN INTO emp30 ELSE INTO empother SELECT * FROM emp; 不手动提交commit 退出sqlplus 自动提交 Oracle 10g 数据库管理、应用与开发 * 大型数据库技术 南阳理工学院软件学院.数据库技术教研室 2012年9月 Oracle10g管理、应用与开发 操作数据库 软件学院 数据操纵 插入数据 修改数据 删除数据 插入数据 插入单行记录 利用子查询插入数据 向多个表中插入数据 (1)插入单行记录 语法 INSERT INTO table_name|view_name [(column1[,column2…])] VALUES(value1[,values, …]) 注意: 如果在INTO子句中没有指明任何列名,则VALUES子句中列值的个数、顺序、类型必须与表中列的个数、顺序、类型相匹配。 如果在INTO子句中指定了列名,则VALUES子句中提供的列值的个数、顺序、类型必须与指定列的个数、顺序、类型按位置对应。 向表或视图中插入的数据必须满足表的完整性约束。 字符型和日期型数据在插入时要加单引号。日期类型数据需要按系统默认格式输入,或使用TO_DATE函数进行日期转换。 例:向emp表中插入一行记录。 例:向dept表中插入一行记录。 SQL INSERT INTO dept VALUES(50, IM, dalian); SQL INSERT INTO emp(empno,ename,sal,hiredate) VALUES(1234, JOAN,2500, 20-4月-2007); (1)插入单行记录 注意:此语句省略了列表清单,在使用此语句时,必须确保值的顺序与表结构列 的顺序一致。 (2)利用子查询插入数据 语法 INSERT INTO table_name|view_name [(column1[,column2,…]) subquery; 注意 INTO子句中指定的列的个数、顺序、类型必须与子查询中列的个数、顺序和类型相匹配。 例:统计各个部门的部门号、部门最高工资和最低工资,并将统计的结果写入到表emp_salary(假设该表已经创建)中。 例:向emp表中插入一行记录,其员工名为FAN,员工号为1235,其他信息与员工名为SCOTT的员工信息相同。 SQL INSERT INTO emp_salary SELECT deptno,max(sal),min(sal) FROM emp GROUP BY deptno; SQL INSERT INTO emp SELECT 1235,FAN,job,mgr,hiredate,sal,comm,deptno FROM emp WHERE ename=SCOTT; (2)利用子查询插入数据 如果要将大量数据插入表中,可以利用子查询直接装载的方式进行。由于直接装载数据的操作过程不写入日志文件,因此数据插入操作的速度

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档