1.变量
学习计算机语言,难免不碰到这个名词,不过咱这里说的是MSSQL(微软SQL Server产品)里的数据库语言实现。
稍微对程序比较严谨的语言都要求使用之前都要声明变量先,比如c.c++,java,c#之类,T-SQL也没有例外。
可以试验下:
SELECT @hello
会有如下类似错误信息:
[Err] 42000 - [SQL Server]必须声明标量变量 "@hello"。
声明变量使用如下关键字:DECLARE(不区分大小写的)
声明变量需要使用类型,因为“我”要知道你这玩意到底是整数还是日期还是字符串,我该给你分配多少字节空间啊。
2.数据类型
数据类型就是之前提到的整型,字符之类的类别。
我们的格式是:
DECLARE 变量名 类型
我这里约定下,关键字和类型等用大写,变量名小写,你可以不这样子,但希望你遵守“我们学堂”的规范,呵呵。
先说下,TSQL这孩子变量分好多哇,跟其他语言差不多(其他语言有,局部变量,全局变量之类的,俺可没搞什么大的特殊)
这里先用局部变量(Local Variant),T-SQL局部变量是@后接变量名字,
DECLARE @hello VARCHAR(30)
俺可以一次声明多个呢,
DECLARE @i INT,
@j INT
当然了声明后,俺们的值是个NULL(注意不是'NULL'字符串哦)
SELECT @i 您看看吧
你坑我啊,光个NULL怎么用,别急,我们看看怎么给他们赋值,不会和其他语言一样直接用赋值运算符=吧,对头不过语法稍微区别下
3.赋值
SET @i=123
这次看看吧SELECT @i
当然SET也可以用SELECT代替。
稍微来点复杂的:
--===================== --计算面积@area=@m*@n --===================== DECLARE @m INT, @n INT, @area INT SET @m=12 SET @n=5 SET @area=@m*@n SELECT @area
赋值也可以是sql执行的结果:
DECLARE @count INT SET @count=(SELECT COUNT(*) FROM authors) SELECT @count GO
变量也可以用在sql里,比如下面:
DECLARE @city CHAR(20) SET @city='Oakland' SELECT RTRIM(au_fname) + ' ' + RTRIM(au_lname) AS Name FROM authors WHERE city = @city GO
4.流程控制
分支条件这个太常见了,顺序、分支和重复(循环)是结构化程序设计的3个流程,不得不说。
我们看看T-SQL里的条件语句怎么写,关键字IF不多说了。
如下:
DECLARE @i INT SET @i=123 IF @i>0 (SELECT 'positive')
一条语句可以这么干,多条语句块怎么整呢,别着急,BEGIN...END啊,(如果没在一些语言里见过,c类似的里面的{}总该行了吧)
DECLARE @i INT SET @i=123 IF @i>0 BEGIN SELECT 'positive' SELECT 'not negative' END ELSE SELECT 'OMG'
没错ELSE也支持的。
也可以嵌套。
循环LOOP
使用关键字WHILE
DECLARE @i INT SET @i=0 WHILE @i<10 BEGIN SET @i=@i+1 PRINT '@i='+CAST(@i AS CHAR) END
while也可以嵌套。
相关推荐
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
sql server T-SQl基础教程 源码和示例数据库
SQL语言是所有关系数据库通用的标准语言,Transact-SQL语言在标准SQL语言的基础上进行了功能上的扩充。TSQL是目前全球数据库语句中最强大的一种数据库语句,目前世界所有SQL数据库的语句都是按照TSQL标准执行的。
Inside Microsoft SQL Server 2008 T-SQL Programming
Microsoft SQL Server 2008技术内幕:T-SQL查询
该书解释并比较了SQL Server 2000和SQL Server 2005在数据库开发相关问题上的解决方案,深入讨论了SQL Server 2005中新增的T-SQL编程特性,包含了大量的代码示例、表示例和逻辑难题以帮助数据库开发人员和管理员理解...
Pro T–SQL 2012 Programmer’s Guide is every developer’s key to making full use of SQL Server 2012’s powerful, built–in Transact–SQL language. Discussing new and existing features, the book takes ...
T-SQL示例大全,(全是T-SQL语句)
SQL Server 2005在支持标准SQL语言的同时,对其进行了扩充,引入了T-SQL,即Transact-SQL,T-SQL是使用SQL Server 2005的核心,通过它,可以定义变量、使用流控制语句、自定义函数、自定义存储过程等,极大地扩展了...
数据库T-SQL编程PPT教材,掌握如何定义变量并赋值 ...T-SQL中的主要数据类型包括: 数字类型:用于存储整数或小数 整数如smallint,int; 小数如numeric,decimal 字符类型:char,varchar,nchar,nvarchar 日期类型:datetime
--T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...
Notepad++ sql格式化插件 Poor Man's T-SQL Formatter SqlFormatterNppPlugin.1.5.1
T-SQL语法详解,从各个方面详细介绍SQL语法,让你数据库操作更上一存参楼
SQLServer2005技术内幕T-SQL查询的代码示例
他从1999年开始便一直是SQL Server方面的Microsoft MVP,在世界各地讲授 T-SQL查询、编程和查询优化相关的课程,并提供相关咨询服务。他在SQL Server Magazine和MSDN上发表了多篇文章,并被邀请在许多专题会议上做...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》一书的源代码及附录A内容。确信可下载,真实有效的内容
《sql server 2005 技术内幕 T-SQL查询》 《sql server 2005 技术内幕 T-SQL程序设计》 网上大多的资源都是英文的,好容易找到中文的了,上传上来和大家分享。 这两本书都是中文的(很不容易哟),是高清晰的pdf...
Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码,主要是SQL脚本
本书涵盖了T-SQL程序设计的方方面面,如基于集合的编程技术、日期和时间相关的XML和CLR数据类型的使用、临时对象、T-SQL和CLR用户自定义函数、存储过程、触发器、事务和新的错误处理结构、应用并发模型支持并发用户...