Transact-SQL 是什么

fanly 问答 2019-08-20 09:26:34 阅读(...)

Transact-SQL(又称 T-SQL)是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近,当前在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用为核心的查询语言。

Transact-SQL

Transact-SQL 是具有批量与区块特性的 SQL 指令集合,数据库开发人员可以利用它来撰写数据部分的商业逻辑(Data-based Business Logic),以强制限制前端应用程序对数据的控制能力。同时,它也是数据库对象的主要开发语言。

语言结构

Transact-SQL 以 ANSI SQL 为主要组成,当前 Microsoft 实现的 Transact-SQL 可支持到 ANSI SQL-92 标准。

ANSI SQL 基础语法支持

DDL

DDL(Data Definition Language)是对于数据库对象的控制语法,对数据库对象(如数据表,存储程序,函数或自定义类型等)的新增,修改和删除都使用此语法。

  • CREATE(创建数据库对象)
  • ALTER(修改数据库对象)
  • DROP(删除数据库对象)

DML

DML(Data Manipulation Language)是一般开发人员俗称的 CRUD(Create/Retrieve/Update/Delete)功能,意指数据的新增/截取/修改/删除四个功能。

  • SELECT(R)
  • INSERT(C)
  • UPDATE(U)
  • DELETE(D)

DCL

DCL(Data Control Language)是由数据库所提供的保安功能,对于数据库与数据库对象的访问原则与权限,都由 DCL 定义之。

  • GRANT(赋与权限)
  • REVOKE(撤消权限)

控制流语法

Transact-SQL 可支持下列的控制流程语法(control-flow):

  1. BEGIN … END,标示 SQL 指令区块,使用 BEGIN … END 包装的指令会被视为同一个指令区块。
  2. IF … ELSE 的条件式,并可支持嵌套式的 IF 判断式,若 IF 或 ELSE 中的指令包含两个以上,则必须要使用 BEGIN … END 来标示区块,否则会发生语法检查错误。
  3. WHILE 循环,这也是 Transact-SQL 中唯一支持的循环,循环中的指令要用 BEGIN…END 包装。
  4. RETURN,可强制终止区块的运行。
  5. WAITFOR,可强制让语句等待指定时间后才继续运行。
  6. GOTO,可导向运行指令到指定的位置。

开发与管理工具

Transact-SQL 通常会使用由 SQL Server 或 Adaptive Server 提供的查询工具,像是:

  • SQL Server Query Analyzer(SQL Server 2000, 7.0, 6.5)
  • SQL Server Management Studio(SQL Server 2008(也可用 Visual Studio), 2005)
  • osql.exe,SQL Server 2000, 7.0 的命令行 SQL 工具。
  • sqlcmd.exe,SQL Server 2005 的命令行 SQL 工具
收藏 0个人收藏
走进科技生活方式

发表评论

登录后参与评论