0

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

什么时候使用 Oracle PL/SQL?

4

3 回答 3

5

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

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

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

  • 使用隐式游标时,语言可以直接打开游标,关闭游标。
  • 使用静态 SQL 时,始终会自动为您完成绑定。
  • 静态 SQL 查询在编译期间进行验证,这意味着在运行时没有 SQL 语法错误。

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

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

于 2013-10-03T14:45:00.613 回答
2

它用于存储过程和包,也用于触发器和数据库作业 (dbms_scheduler)。尽管对于后两者,通常最好编写一个过程并从触发器或作业中调用它。

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

于 2013-10-03T14:28:13.337 回答
2
  • PL/SQL 是结构化查询语言 (SQL) 的过程语言扩展。

  • PL/SQL(过程语言/结构化查询语言)程序在 Oracle 数据库上执行。PL/SQL 专为面向数据库的活动而设计。

  • Oracle PL/SQL 允许您执行安全且灵活的数据操作操作。在这里阅读更多PL/SQL 教程

在这里您可以找到PL/SQL 的优势

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

于 2019-05-06T06:02:48.447 回答