SQL和PL-SQL的区别

有人可以突出显示PL-SQL和SQL之间的主要区别吗? 你推荐哪一个想要潜水到DBA的新手?

SQL是一种查询语言,允许您发出单个查询或执行单个插入/更新/删除。 PL-SQL是Oracle的“程序语言”SQL,它允许您编写完整的程序(循环,variables等)来完成多个select/插入/更新/删除操作。 您应该首先学习SQL,然后转到PL-SQL。 您可能需要同时成为Oracle DBA。

1.)SQL是用于select和操作数据集的面向数据的语言。 PL / SQL是创build应用程序的过程语言。

2.)PL / SQL可以像Java或PHP一样是应用程序语言。 PL / SQL可能是我们用来构build,格式化和显示这些屏幕,网页和报表的语言.SQL可能是我们屏幕,网页和报表的数据源。

3.)SQL一次执行一条语句。 PL / SQL是作为一个代码块执行的。

4.)SQL告诉数据库该做什么(声明性的),而不是如何去做。 相比之下,PL / SQL告诉数据库如何做(程序)。

5.)SQL用于编码查询,DML和DDL语句。 PL / SQL用于对程序块,触发器,函数,过程和包进行编码。

6.)我们可以将SQLembedded到PL / SQL程序中,但是我们不能在SQL语句中embeddedPL / SQL。

SQL是您在Oracle中创build或修改数据和结构的唯一语言。 虽然其他工具将与数据库连接,但它们都使用SQL来读取和修改数据。

Oracle的PL / SQL是一种编程语言,它扩展了SQL以包含过程元素,比如循环和其他。

单独使用PL / SQL就没有什么可以做的 – 先学习SQL,然后学习PL / SQL,学习如何编写有效的脚本和程序。

SQL用于对数据执行操作。 它有一个ANSI标准。 大多数数据库都支持它,尽pipe每个数据库在解释上可能有所不同,每个数据库通常都有一些专有的扩展。

PL SQL正如Shane所描述的那样。 它允许对SQL和结果集进行编程操作,而且如果您查看Oracle PL-SQL API,也可以使用其他的东西。

我再次同意Shane的观点:我不认识任何能够在不知道SQL和PL-SQL的情况下真正自称为Oracle DBA的人。

我同意谢恩。

我将补充一点,PLSQL本质上是一种类似于Pascal与SQL扩展的过程式编程语言。

SQL和PLSQL之间很多语言元素是常见的。 SQL绝对是学习PLSQL的先决条件,因为它几乎(但不完全)是PLSQL语言的一个子集。

学习SQL提供了更大的压力,因为经验与ANSI SQL可以应用于许多数据库供应商,而PLSQL是特定于Oracle。

SQL可能是屏幕数据的来源,而PL / SQL可能是您用来构build,格式化和显示这些屏幕,网页和报告的语言。

我build议先拿起ANSI / ISO SQL。 在PL / SQL对你有用之前,你需要知道SQL,因为很多PL / SQL都涉及编写触发器,过程和函数,而这些触发器,过程和函数又会适当地调用SQL。

PS如果您要成为Oracle DBA,您只需要知道PL / SQL。 然而,ANSI / ISO SQL是相当普遍的。 然而,ANSI / ISO SQL并不完备,所以希望不得不select一些特定于您所使用服务器types的附加SQL。

我相信其他答案在解释PL SQL和SQL之间的区别方面做得非常好。 我想让你知道的是,我们编写SQL,并用PL SQL进行包装,PL SQL是利用代表业务事务的业务函数命名约定创build的。 你应该总是试图通过SQL而不是PL SQL进行数据操作。 有些时候你需要逐行循环数据(慢慢),但是要尽量避免在SQL中使用CASE语句和Oracle分析。 DBA知道PL SQL的符号是非常错误的。 我不知道任何可以编写PL SQL的DBA。 他们中的许多人一次写了PL SQL,但那是很久以前的事了。 DBA花时间pipe理数据库,并将SQL和PL SQL留给开发人员。 🙂

SQL提供对数据库的访问,以从对象中检索数据。 但是SQL没有编程能力。 SQL不提供:

循环:一次遍历logging并操作单行。 exception:error handling。 代码安全:SQL代码不能存储在数据库中,不能被encryption。 复杂的数据types:不能用于logging,集合,数组,对象,游标,B文件等。

PLSQL提供了编程语言的function,并支持上述列表。 它还支持在PLSQL块内运行SQL语句。

SQL是一种基于查询的语言,而pl sql是一种基于程序语言的语言。 不像SQL,PL sql有exception处理的function。

sql是一种结构化的查询语言,而pl-sql是过程语言和sql的组合。 sql是用于select和操作数据集的面向数据的语言,pl / sql是创build应用程序的过程语言。

1.SQL代表结构化查询语言。 而PL / SQL代表程序语言/结构化查询语言。

2.PL / SQL语句不能在SQL中使用。 尽pipe所有的SQL语句都可以在PL / SQL块中使用。

3.SQL一次可以执行一个语句。 虽然PL / SQL可以作为一个代码块来执行。

4.SQL用于编码查询,DML和DDL语句。 PL / SQL用于编写程序块,触发器,过程,函数和包。

PL-SQL是SQL和Oracle的语言。 从SQL开始。

PL-SQL是Oracle的语言风格,就像T-SQL是针对SQL Server的。 每个数据库都有自己特定的方言。

与sql相比,pl / sql的执行速度很快,因为它将一段语句传递给服务器,而在sql中,一条语句一次传送到服务器上。