摘要:
变量对于某一种语言是必不可少的一部分,当然对于T-SQL来讲也是一样,在简单查询中,但是对于复杂的查询或存储过程中,变量都是必不可少的一部分。和高级语言一样,在T-SQL中,变量按生存范围可以分为全局变量(Global Variable)和局部变量(Local Variable)1、全局变量时有系统定义的,在整个SQL Server实例内都能访问到的变量,全部变量以@@作为第一个字符,用户只能访问,不能赋值。2、局部变量由用户定义,生命周期只在一个批处理内有效。局部变量以@作为第一个字符,由用户自己定义和赋值。一个简单的例子如下: 因为全局变量仅仅是用于读取系统的一些参数,具体每个全局变量所. 阅读全文
摘要:
和其他高级语言一样,T-SQL中也有用于控制流程的语句。T-SQL中的流程控制语句进一步扩展了T-SQL的力量....使得大部分业务逻辑都可以用在数据库层里面进行。但很多对于T-SQL中的流程控制语句并没有系统的了解 在没有流程控制语句的情况下,T-SQL语句是按照从上到下的顺序逐个执行;使用流程控制语句可以让开发人员可以基于某些逻辑进行选择性的跳转,实现了类似高级语言的跳转结构流程控制语句的使用范围和Go关键字 流程控制语句只能在单个批处理段(Batch),用户自定义函数和存储过程中使用。不能跨多个批处理段或者用户自定义函数和存储过程。 一个批处理段是有一个或者多个语句组成的一个批处理,之. 阅读全文
摘要:
T-SQL不仅仅是一个用于查询数据库的语言,还是一个可以对数据进行操作的语言。基于列的case表达式就是其中一种,不像其他查询语言可以互相替代(比如用子查询实现的查询也可以使用join来实现),case表达式在控制基于列的逻辑表达式大部分是无法替代的。 基于列的逻辑表达式,其实就是case表达式,可以用在select,update,delete,set以及in,where,order by和having子句之后。由于这里讲的是T-SQL查询,所以只说到case表达式在select子句和order by子句中的使用。 case表达式实现的功能类似编程语言中的if....then....else. 阅读全文