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

时间:2011-03-25 04:49:16

标签: sql sql-server oracle tsql plsql

我所知道的是前者是Oracle,后者是SQL Server。我假设某些事情可能更容易在一个与另一个但是我在PL中可以做的某些事情我不能在T中吗?

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

5 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:7)

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

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

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:3)

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

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

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

答案 4 :(得分:0)

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

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