什么时候使用 PL/SQL?

joh*_*nny -1 plsql oracle11g

我制作的每个应用程序都位于数据库、Web 堆栈之上,并以 Oracle 作为存储库。Oracle PL/SQL 对我来说一直是个谜。你什么时候使用它?是否仅在存储过程中(我也不做很多。)

您什么时候使用 Oracle PL/SQL?

Vin*_*rat 5

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

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

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

  • 使用隐式游标时,打开游标、关闭游标可以直接由语言完成。
  • 使用静态 SQL 时,绑定总是自动为您完成。
  • 在编译期间验证静态 SQL 查询,这意味着在运行时不会出现 SQL 合成错误。

此外,通过直接查询数据,您无需创建人工缓存。好处是更容易实现安全的多用户锁定机制。大多数 Web 应用程序将从数据库中提取数据,在本地修改数据并稍后上传。例如,在这种情况下更难保护系统免受更新丢失的影响

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

  • @johnny 您仍然与数据库交互。ORM 可能会稍微简化界面,但您仍在后台处理查询、表、索引。IMO 对于简单直接的应用程序,ORM 可以很好地隐藏数据库。但是对于许多需要在性能或可扩展性方面获得额外优势的内部应用程序,ORM 可能会妨碍优化。在这种情况下,您可能会发现 PL/SQL 更合适、更高效。YMMV显然=) (2认同)