Plsql 什么时候使用PL/SQL?

Plsql 什么时候使用PL/SQL?,plsql,oracle11g,Plsql,Oracle11g,我制作的每个应用程序都位于数据库、web堆栈和Oracle存储库之上。Oracle PL/SQL对我来说一直是个谜。你什么时候用?它只存在于存储过程中吗?我也没有做很多这样的事情 什么时候使用Oracle PL/SQL?它用于存储过程和包,也用于触发器和数据库作业dbms\U调度程序。尽管对于后两种情况,通常最好编写一个过程并从触发器或作业调用它 何时使用它取决于总体架构以及您希望业务逻辑的位置。我工作的每个Oracle系统都有pl/sql中的所有应用程序逻辑,这会给数据库服务器带来额外的处理负

我制作的每个应用程序都位于数据库、web堆栈和Oracle存储库之上。Oracle PL/SQL对我来说一直是个谜。你什么时候用?它只存在于存储过程中吗?我也没有做很多这样的事情


什么时候使用Oracle PL/SQL?

它用于存储过程和包,也用于触发器和数据库作业dbms\U调度程序。尽管对于后两种情况,通常最好编写一个过程并从触发器或作业调用它


何时使用它取决于总体架构以及您希望业务逻辑的位置。我工作的每个Oracle系统都有pl/sql中的所有应用程序逻辑,这会给数据库服务器带来额外的处理负载,但会减少数据库和应用程序层之间的数据传输。如果您不想将数据库用作存储库之外的其他用途,则有比Oracle更便宜的选项。

在Oracle中,PL/SQL语言用于包、过程、函数和类型。进一步阅读:

使用Oracle数据库时,PL/SQL是直接访问数据最方便的方法之一

PL/SQL代码在直接与数据交互时非常紧凑,因为SQL没有语言障碍:

当使用隐式游标时,语言可以直接打开游标和关闭游标。 使用静态SQL时,绑定总是自动完成的。 静态SQL查询在编译期间进行验证,这意味着在运行时不会出现SQL synthax错误。 另外,通过直接查询数据,您不需要创建人工缓存。好处是更容易实现安全的多用户锁定机制。大多数web应用程序都会从数据库中提取数据,在本地修改数据,然后再上传。例如,在这种情况下,保护系统不受攻击就比较困难

由于可以有许多应用程序与单个数据库交互,因此在可供所有应用程序访问的单个中心层(PL/SQL层)中实现业务规则具有更高的效率和一致性优势

PL/SQL是一种过程语言 结构化查询的扩展 语言SQL

PL/SQL过程 语言/结构化查询语言 程序在Oracle数据库上执行。 PL/SQL是专门为 面向数据库的活动

Oracle PL/SQL允许您执行数据存储 那些是安全的 而且灵活。在这里阅读更多 在这里你可以找到


在这里您可以找到官方列表,但我认为它太宽了。

太宽了,但是。所以我猜这不是为需要像Hibernate这样的ORM的人准备的?@johnny您仍然可以与数据库交互。ORM可能会在某种程度上简化接口,但您仍在幕后处理查询、表和索引。IMO对于简单直接的应用程序,ORM可以很好地隐藏数据库。但是,对于许多需要在性能或粗糙度方面获得额外优势的内部应用程序,ORM可能会妨碍优化。在这种情况下,您可能会发现PL/SQL更合适、更高效。显然是YMMV=