代码改变世界

随笔档案-2013年07月

Oracle编程入门经典 第12章 事务处理和并发控制

2013-07-27 15:49 by 夜雨瞳, 1221 阅读, 收藏, 编辑
摘要: 定用户隔离层次的情况下,使用相同的输入,采用相同的方式执行的相同的工作可能会导致不同的答案,这些隔离层次采用指定层次上许可(或者不符合规定)的三种“读取”方式进行定义。它们是:脏读取(Dirty read)——这种读取方式的含义同它听起来一样糟糕。您可以读取没有提交的“脏”数据。非可重复读取(Non-repeatable read)——这种方式意味着,如果用户在T1时刻读取了一行,在T2时刻再次读取一行,那么这个行就可能发生改变。例如,它可能已经被删除或者更新。影像读取(Phantom read)——这种方式意味着如果用户在T1时刻执行了一个查询,在T2时刻再次执行它,就可能会有影响结果的附加行加入到数据库中。在这种情况下,这种读取方式与非可重复读取有所不同,您已经读取的数据不会发生变化,而是会有比以前更多的满足查询条件的数据。 阅读全文

Oracle编程入门经典 第11章 过程、函数和程序包

2013-07-20 17:05 by 夜雨瞳, 1120 阅读, 收藏, 编辑
摘要: 可扩展性。使用过程和函数可以让开发者增加功能。编写用户自己的全程可以让用户灵活地扩展数据库的核心能力。模块化。任何优秀的开发者都知道编写模块化代码的重要性。用户应该通过编写小型、可管理的过程在用户应用中定义单独的处理模块,它们可以组织在一起形成更复杂的应用。可重用性。由于这些全程命名后并且保存在数据库中,所以任何应用都能够执行它们(只有它们更具有合适的权限完成这项工作)。这种重用代码的能力在开发过程中非常关键。可维护性。继续使用上一部分中的示例,考虑当存储日志信息的表发生改变之后,会出现什么情况。如果用户需要改动的只有一个地方,那么就会使用户代码更容易维护。抽象和数据隐藏。我们假定用户正在调用不是由用户编写的名为GIVE_EMPLOYEE RAISE()的过程,用户可以向它提供一些信息,让它来工作,换句话说,用户可以用它来员工加薪。它对于用户来讲是个黑箱。它怎样实现并不重要 阅读全文
点击右上角即可分享
微信分享提示