【问题标题】:What is the difference between PL/SQL and T-SQL?PL/SQL 和 T-SQL 有什么区别?
【发布时间】:2011-07-22 16:03:04
【问题描述】:

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

是否有我应该注意的根本区别?如果有,它们是什么?

【问题讨论】:

    标签: sql sql-server oracle tsql plsql


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            【解决方案5】:

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

            这里有更多有用的信息: http://techdifferences.com/difference-between-t-sql-and-pl-sql.html

            【讨论】:

              猜你喜欢
              • 2016-02-18
              • 2010-11-21
              • 1970-01-01
              • 2012-04-27
              • 2014-10-14
              • 1970-01-01
              • 2022-06-11
              • 2012-03-10
              • 2012-09-21
              相关资源
              最近更新 更多