个人理财 PL / SQL有什么好处? - 傻瓜

PL / SQL有什么好处? - 傻瓜

目录:

视频: oracle第00讲 开山 2025

视频: oracle第00讲 开山 2025
Anonim

PL / SQL是编写驻留在数据库中的代码时使用的语言。在下面的文章中,你会看到不同的情况,你会发现PL / SQL有用。

使用数据库触发器

触发器 是DBMS中的一个事件,可能导致某些代码自动执行。有四种类型的数据库触发器: 表级触发器

  • 可以在INSERT,UPDATE或DELETE事件之前或之后启动活动。这些最常用于跟踪历史信息和数据库更改,保持冗余数据同步,或通过防止发生某些操作来增强安全性。 <! --1 - >
查看级别触发
  • 非常有用。一个 视图 是一个存储的SQL语句,开发人员可以像查询它本身是一个数据库表一样进行查询。通过在视图上放置INSTEAD OF触发器,可以将INSERT,MODIFY和DELETE命令应用于视图,而不管其复杂性如何,因为INSTEAD OF触发器定义了可以对视图执行哪些操作。数据库级触发器 可以在启动和关闭时激活。例如,当数据库启动时,您可能需要测试其他数据库或Web服务的可用性。在数据库关闭之前,您可能希望通知其他数据库和Web服务数据库正在脱机。
  • 会话级触发器
可用于存储特定的信息。例如,当用户登录或注销时,可能需要执行包含用户首选项的代码,并将其加载到内存中以便快速访问。会话关闭时,触发器可以保存首选项以供将来使用。
  • 使用速度编写脚本 编写代码时,输​​入代码的一部分并在不首先将其保存到数据库的情况下执行它的功能很有用。 Oracle提供了所有PL / SQL IDE支持的功能。

<!保留代码服务器端

大部分PL / SQL代码作为程序单元存储在服务器中。一个典型的应用程序有许多代码行。一些程序员,特别是在J2EE或者J2EE中工作的基于Web的开发人员。尝试将大部分代码写入Java(用于J2EE开发人员)或VB的应用程序服务器中。 NET(.NET开发人员)。这不是很好的做法。在数据库应用程序中,大部分逻辑都致力于检索和更新信息。如果要完成此任务的代码驻留在应用程序服务器中,则必须通过网络向数据库发送请求。然后数据库必须处理请求并通过网络发回信息以供应用程序处理。由于网络和计算机现在非常快,你可能会认为这只需要几分之一秒。尽管单个请求就是这种情况,但是如果一个非常复杂的应用程序需要与数据库进行数百万甚至数亿次的交互,将交互次数乘以几分之一秒会导致性能很差。即使相对简单的只需要少量数据库请求的操作,如果应用程序被数百,数千或数以万计的用户同时访问,也会产生问题。在不使用服务器端编码的情况下构建数据库密集型应用程序比编写在应用程序服务器中运行的所有代码要困难得多。反对编写服务器端代码的一个论据是应用程序不能移植(不能从一个平台移动到另一个平台)。但是,大多数使用Oracle的组织已经使用了很长时间(十年或更长时间),并没有考虑切换到不同的平台。另外,Web开发目前处于快速变化的状态。组织之间经常变化。 NET,J2EE和其他基于Web的应用程序开发环境。

都是。 NET和J2EE环境也在不断变化。在J2EE环境中,大约一年前Web开发的行业标准是创建JavaServer页面(JSP)。目前,行业标准是在JSP / Struts环境下工作。在接下来的一年左右,JavaServer Faces(JSFs)将有可能成为行业标准。因此,写在中间层的代码将来有很高的风险需要重写。

服务器端代码运行速度更快,维护和测试更容易,与中间层代码相比,更不易受到更改。因此,在数据库中创建应用程序的重要部分是更好的方法。

有很多地方可以编写应用程序可以使用的代码:

应用程序部分:

PL / SQL程序单元可以返回一组值(函数)或PL / SQL例程可以执行数据库操作(程序)。这些函数和过程可以由其他函数和过程调用,或者在SQL语句中使用(在函数的情况下)。 PL / SQL例程可能像你需要的那样庞大而复杂。一些复杂的例程可能包含数千行代码。整个系统可能包含数百万行代码。嵌入在视图中的PL / SQL代码:

Oracle允许您在数据库视图中嵌入代码。代码实际上可能位于视图中的两个位置之一。首先,您可以将正确制作的函数放在SQL语句的SELECT部分​​中,以检索其他信息,这些信息可能是也可能不是要查询的表的一部分。

也可以在视图中的INSTEAD OF触发器中嵌入PL / SQL。这些触发器允许您在复杂视图上执行INSERT,UPDATE和DELETE操作,PL / SQL以编程方式处理如何处理这些操作。批处理例程:

批处理例程

运行同时处理大量记录的代码。为系统中的每个客户生成发票或处理整个组织的工资核算是批处理例程。这些例程通常是庞大的,复杂的和数据库密集型的。这种类型的例程一定要用PL / SQL编写。

PL / SQL有什么好处? - 傻瓜

编辑的选择

10个惊人的Python编程资源 - 傻瓜

10个惊人的Python编程资源 - 傻瓜

您可能对Python编程有很好的开始,需要额外的资源。这里有十个令人惊叹的编程资源,您可以使用它来改善您的开发体验。在线使用Python文档使用Python的一个重要部分就是了解Python中的可用内容...

如何在Python中创建类定义

如何在Python中创建类定义

类不需要特别复杂。实际上,您可以在Python中创建容器和一个类元素,并将其称为一个类。当然,最终得到的类不会有太多的工作,但是你可以实例化它(告诉Python用你的类作为蓝图来构建一个对象),并使用它来处理它...

如何在Python中访问列表 - 傻瓜

如何在Python中访问列表 - 傻瓜

使用Python创建列表后,要访问信息它包含。一个对象不是特别有用,如果你至少不能访问它所包含的信息。以下步骤描述了如何做到这一点。

编辑的选择

如何在Excel 2013中复制自定义样式 - 傻瓜

如何在Excel 2013中复制自定义样式 - 傻瓜

Excel 2013可以轻松复制自定义单元样式您已经将其作为一个工作簿的一部分保存到您当前正在处理的工作簿中。要将自定义样式从一个工作簿复制到另一个工作簿,请按照下列步骤:

如何使用填充柄复制Excel公式 - 虚拟人

如何使用填充柄复制Excel公式 - 虚拟人

您将喜欢填充柄在Excel中。填充句柄是一个快速的方法,只需单击一下鼠标,即可将单元格的内容复制到其他单元格。活动单元格的边界右下方总是有一个小方框。那是填充句柄。当你...

如何比较Excel 2013中的多个工作表 - Excel 2013中的虚拟人数

如何比较Excel 2013中的多个工作表 - Excel 2013中的虚拟人数

,可以拆分单个工作簿到工作表窗口中,然后排列窗口,以便您可以查看屏幕上每个工作表的不同部分。要打开要在不同窗口中比较的工作表,只需插入新的工作簿窗口,然后选择工作表即可...

编辑的选择

监视WebLogic Server - 虚拟机

监视WebLogic Server - 虚拟机

监视服务器是每个WebLogic Server管理员必须处理的重要任务。您将监视您的服务器是否启动以及服务器负载。通过监视,您可以快速查看WebLogic Server不同部分如何执行的概述。通过WebLogic Server,您可以监视以下区域:CORBA ...

测量用于机器学习的矢量之间的相似性 - 虚拟

测量用于机器学习的矢量之间的相似性 - 虚拟

把他们当作一个媒介。以下信息描述了如何测量矢量之间的相似性以执行诸如计算用于学习目的的矢量之间的距离等任务。理解相似性在矢量形式中,您可以在...中看到每个变量。

前10名MATLAB的使用MATLAB

前10名MATLAB的使用MATLAB

MATLAB被许多不同的人使用当谈到数学产品时,可能不一定会想到。事实上,数学的使用方式很多人都没有考虑。工程新的解决方案许多工程学科依靠各种数学来确保...