Oracle SQL 与 Oracle PL/SQL [关闭]

Posted

技术标签:

【中文标题】Oracle SQL 与 Oracle PL/SQL [关闭]【英文标题】:Oracle SQL vs Oracle PL/SQL [closed] 【发布时间】:2012-11-06 13:49:26 【问题描述】:

我必须学习 Oracle SQL 才能工作,并且非常喜欢 O'Reilly 的书“Oracle PL/SQL 编程”,因为它受到了高度评​​价。但是,我不清楚 PL/SQL 是否是与 SQL 不同的语言,或者它只是一个超集还是其他语言。有人可以在这里帮助我吗?谢谢。

【问题讨论】:

另见quora.com/What-is-the-difference-between-Oracle-SQL-and-PL-SQL# 【参考方案1】:

SQL 是一种数据查询和操作语言。 PL/SQL 是一种过程编程语言。

PL/SQL 是图灵完备的语言,具有构建复杂程序的语法。它还拥有大量的库,这些库为其提供了广泛的功能。然而,毫无疑问,它的主要用途是构建嵌入 SQL 语句以检索和处理数据的存储过程。所以从这个意义上说,PL/SQL 是 SQL 的超集。

尽管在数据库的早期版本中,PL/SQL SQL 引擎落后于数据库引擎,因此某些 SQL 功能在 PL/SQL 中不可用。自从 9i 以来,Oracle 一直在努力使两者保持同步,而且很难找到我们可以在纯 SQL 中做的任何事情,而我们在 PL/SQL 中也做不到。

【讨论】:

【参考方案2】:

它是一个超集。

所有 SQL 加上一些 PROCEDURAL 扩展 - 这样您就可以拥有变量、循环、条件逻辑等。

【讨论】:

以上是关于Oracle SQL 与 Oracle PL/SQL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

密码不能包含oracle数据库中的用户名或用户全名的一部分(pl/sq)

Oracle Database 19c 技术架构

Oracle Database 19c 技术架构

PL/SQL developer连接oracle出现“ORA-12154:TNS:could not resolve the connect identifier specified”问题的解决(代码

Oracle数据库SQL语言实战培训教程(全面详细案例精讲)套餐

将PL/SQL代码封装在机灵的包中