我必须学习 Oracle SQL 才能工作,并且对 O'Reilly 的《Oracle PL/SQL 编程》一书非常感兴趣,因为它受到了高度评价。但是,我不清楚 PL/SQL 是否是与 SQL 不同的语言,或者它只是一个超集还是其他语言。有人可以在这里帮助我吗?谢谢。
问问题
6809 次
2 回答
17
SQL 是一种数据查询和操作语言。PL/SQL 是一种过程编程语言。
PL/SQL 是图灵完备的语言,具有构建复杂程序的语法。它还拥有大量的库,这些库为其提供了广泛的功能。然而,毫无疑问,它的主要用途是构建嵌入 SQL 语句以检索和处理数据的存储过程。所以从这个意义上说,PL/SQL 是 SQL 的超集。
尽管在数据库的早期版本中,PL/SQL SQL 引擎落后于数据库引擎,因此某些 SQL 功能在 PL/SQL 中不可用。由于 9i 甲骨文一直在努力使两者保持同步,而且很难找到我们可以在纯 SQL 中做而在 PL/SQL 中也做不到的任何事情。
于 2012-11-06T13:58:34.220 回答
5
它是一个超集。
所有的 SQL 加上一些 PROCEDURAL 扩展——所以你可以有变量、循环、条件逻辑等。
于 2012-11-06T13:51:17.083 回答