繁体   English   中英

PL / SQL和T-SQL有什么区别?

[英]What is the difference between PL/SQL and T-SQL?

我所知道的只是前者是Oracle而后者是SQL Server。 我假设有些事情在一对一中可能比较容易 ,但在PL中我能做些什么我不能在T?

我应该注意哪些根本区别? 如果是这样,他们是什么?

唯一的根本区别是PL / SQL是一种带有嵌入式SQL的过程式编程语言,而T-SQL是MS SQL Server使用的SQL的一组过程扩展。 语法差异很大。 这里有两篇关于两者之间转换的好文章:

T-SQL和PL / SQL是两种完全不同的编程语言,具有不同的语法,类型系统,变量声明,内置函数和过程以及编程功能。

他们唯一的共同点是直接嵌入SQL语句,以及在数据库中存储和执行。

(在Oracle Forms中,PL / SQL甚至用于客户端代码,尽管与数据库存储的PL / SQL集成(几乎)无缝)

它们不一定更容易,只是不同 - ANSI-SQL是它们之间共享的标准代码 - SELECT,WHERE和其他查询语法,而T-SQL或PL / SQL是控制流和高级编码,它们被添加到顶层由数据库供应商让您一起编写存储过程和字符串查询。

可以仅使用ANSI-SQL语句运行多个查询,但是如果您想要执行任何IF语句或处理任何错误,那么您使用的不仅仅是ANSI规范中的内容,因此它可以是T-SQL或PL / SQL(或者,如果您不使用Microsoft或Oracle,则为供应商所称的任何内容)。

我可以添加一个tid位,就是把你所知道的东西放在一个中,而在使用另一个时忘记你所知道的(除了尽可能使用基于集合的逻辑)。

差异的一个例子是游标通常被认为是T-SQL中不太理想的解决方案,除非有充分的理由使用它们,而通常没有。 在Oracle中,游标更加优化,例如它们具有批量能力,即能够处理一组数据,就像普通的SQL语句一样。 所以在Oracle中使用游标不是即时失败的代码审查,它可能在TSQL代码审查中。

整体T-SQL更容易学习,因为就语言而言,它并不多。 PL / SQL是一种更丰富的语言,因此更复杂。 如果有一本好书,这不是一个难以接受的语言。 总的来说,我非常喜欢PLSQL的深度,我非常喜欢TSQL,因为它很简单。

PL / SQL和T-SQL是SQL的扩展。 PL / SQL用于Oracle数据库,T-SQL用于Microsoft数据库。

以下是更有用的信息: http//techdifferences.com/difference-between-t-sql-and-pl-sql.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM