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中,一条语句一次传送到服务器上。