浅谈Transact-SQL

日期:2020-04-29编辑作者:数据库

Transact-SQL,是在MicrosoftSQLServer和SybaseSQLServer上的ANSISQL实现,与Oracle的PL/SQL性质相近,目前在MicrosoftSQLServer和SybaseAdaptiveServer中仍然被使用为核心的查询语言。

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

语言结构

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

ANSISQL基础语法支持

DDL

主条目:数据定义语言

DDL是对于数据库对象的控制语法,对数据库对象的新增,修改和删除都使用此语法。

CREATEALTERDROP

DML

主条目:数据操纵语言

DML是一般开发人员俗称的CRUD功能,意指数据的新增/截取/修改/删除四个功能。

SELECTINSERTUPDATEDELETE

DCL

主条目:数据控制语言

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

GRANTREVOKE批量

Transact-SQL可以使用分号";"来分区不同的SQL指令。例如:

INSERTINTOmyTable(myText)VALUES(@myText);SELECT@@IDENTITY

控制流语法

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

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

在Transact-SQL中,可以利用DECLARE来声明变量,用SET来设置变量值,用SELECT@var=column的方式,由一个陈述式的回传值中来取得变量值。

DECLARE@vINT--declareavariableSET@v=50--setvariabledirectly.SELECT@v=SUM(Qty)FROMSaleItemRecordsWHERESaleID=53928--setvariablefromaresultofstatement

错误处理

www.129028.com金沙,Transact-SQL可以在区块中使用下列方式来处理或引发错误:

RAISERROR,掷出自定义的错误状况。TRY...CATCH,使用结构化的方式来处理错误。PRINT,可以印出变量值。

微软Transact-sql介绍地址:

本文由www.129028.com金沙发布于数据库,转载请注明出处:浅谈Transact-SQL

关键词:

SQL Server 2000的安全配置

SQLserver2000数据库应用非常广泛,一旦出现安全问题,造成的损失往往难以估量!应提前预防,防患于未然。这里,我...

详细>>

如何查看某个查询用了多少TempDB空间www.129028.com金沙

DECLARE @read BIGINT, @write BIGINT; SELECT @read = SUM(num_of_bytes_read), @write = SUM(num_of_bytes_written) FROM tempdb.sys.database_files AS DBFJOI...

详细>>

浅析SQL语句中GROUP BY的用法

GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想 你用了GROUP BY 按 ITEM.ITEMNUM这个字段分组,那其他字...

详细>>

微软总是试图使它的软件安装尽可能地简单顺www.129028.com金沙

如果你没有特意记录安装日期,那么有没有办法从SQL Server里查询到呢?想想我们在安装的时候,肯定会有Windows认证登...

详细>>