简体   繁体   English

tsql,access sql和pl / sql之间的区别

[英]difference between tsql, access sql and pl/sql

i am very confused 我很困扰

please help to clarify these differences! 请帮助澄清这些差异!

are they all completely different languages? 他们都是完全不同的语言吗? what is the overlap? 什么是重叠?

T-SQL and PL/SQL are extensions of SQL. T-SQL和PL / SQL是SQL的扩展。 Overlap is entirely dependent upon which versions of Oracle and SQL Server you are comparing. 重叠完全取决于您要比较的Oracle和SQL Server的哪个版本。 IE: IE:

WITH syntax: Has been supported by Oracle since 9i - SQL Server support started with 2005. WITH语法:自9i以来一直受Oracle支持 - 从2005年开始支持SQL Server。

ANSI-92 support: Oracle 9i+ vs SQL Server 2005+ ANSI-92支持:Oracle 9i + vs SQL Server 2005+

  • Analytics (ROW_NUMBER, RANK, DENSE_RANK) 分析(ROW_NUMBER,RANK,DENSE_RANK)
  • CASE statement CASE声明

Regex Support: Oracle 10g+ vs SQL Server 2005+ (requiring CLR enabling & CLR function created) 正则表达式支持:Oracle 10g + vs SQL Server 2005+(需要CLR启用和CLR功能创建)

PIVOT/UNPIVOT: SQL Server 2005+ vs Oracle 11g+ PIVOT / UNPIVOT:SQL Server 2005+与Oracle 11g +

COALESCE: Oracle 9i+ vs SQL Server 2000+ COALESCE:Oracle 9i + vs SQL Server 2000+

TSQL - Transact SQL TSQL - Transact SQL
PL/SQL - Is SQL for Oracle SQL Server PL / SQL - SQL for Oracle SQL Server
Access SQL - Is a hacked version of SQL Access SQL - 是一个被黑客攻击的SQL版本

TSQL and PL/SQL are both based off of SQL ISO/ANSI Standards. TSQL和PL / SQL都基于SQL ISO / ANSI标准。 It depends on the version of SQL Server(TSQL) or Oracle(PL/SQL) for what ISO/ANSI version they are using. 它取决于SQL Server(TSQL)或Oracle(PL / SQL)的版本,因为它们使用的是ISO / ANSI版本。 See http://en.wikipedia.org/wiki/SQL for more info. 有关详细信息,请参阅http://en.wikipedia.org/wiki/SQL

TSQL and PL/SQL just have extra functionality beyond ISO/ANSI SQL put in by the companies that made them. TSQL和PL / SQL只有在制造它们的公司之外提供的ISO / ANSI SQL之外的额外功能。 In general the ISO/ANSI SQL standard deal specifically with how you can Query a database and what structures you can have in the database (eg tables, triggers, stored procs, etc). 通常,ISO / ANSI SQL标准专门处理如何查询数据库以及数据库中可以使用的结构(例如表,触发器,存储过程等)。 TSQL and PL/SQL are true programming languages in that they can do loops and other things that a programming languages can do. TSQL和PL / SQL是真正的编程语言,因为它们可以执行循环和编程语言可以执行的其他操作。 Simply put TSQL and PL/SQL are turing complete and the ISO standards are not. 简单地说,TSQL和PL / SQL是完整的,而ISO标准则不是。

I am not sure about Access. 我不确定Access。 I think it is just a hacked up version of SQL. 我认为它只是一个被破解的SQL版本。

There are SQL standards , that most RDBMSs follow, but in order to be competitive, most companies add their own extensions. 大多数RDBMS遵循SQL标准 ,但为了具有竞争力,大多数公司都会添加自己的扩展。

Many times these are extensions that are simply not in a standard. 很多时候这些扩展都不是标准的。

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

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