我必须学习Oracle SQL的工作,并且非常受O'Reilly的书“Oracle PL / SQL Programming”的诱惑,因为它已被高度评价。但是,我不清楚PL / SQL是否是与SQL不同的语言,或者它只是一个超集还是其他东西。有人可以帮我吗?谢谢。
答案 0 :(得分:15)
SQL是一种数据查询和操作语言。 PL / SQL是一种过程编程语言。
PL / SQL是图灵的完整语言,具有构建复杂程序的语法。它还拥有大量的库,为其提供了广泛的功能。但是,毫无疑问,它的主要用途是构建嵌入SQL语句以便检索和处理数据的存储过程。所以在这种程度上PL / SQL是SQL的超集。
虽然在早期版本的数据库中,PL / SQL SQL引擎落后于数据库引擎,因此PL / SQL中没有一些SQL功能。自9i以来,Oracle一直在努力使这两者保持同步,而且我们很难在纯SQL中找到任何我们在PL / SQL中无法做到的事情。
答案 1 :(得分:5)
它是一个超集。
所有SQL加上一些PROCEDURAL扩展 - 所以你可以有变量,循环,条件逻辑等。