SQL Server Transact-SQL 编程
2015-05-08 12:27
155 查看
T-SQL语句用于管理SQLServer数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。
Ø变量
1、局部变量(LocalVariable)
局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使用。
基本语法:
示例:
从上面的示例可以看出,局部变量可用于程序中保存临时数据、传递数据。Set赋值一般用于赋值指定的常量个变量。而select多用于查询的结果进行赋值,当然select也可以将常量赋值给变量。
注意:在使用select进行赋值的时候,如果查询的结果是多条的情况下,会利用最后一条数据进行赋值,前面的赋值结果将会被覆盖。
2、全局变量(GlobalVariable)
全局变量是系统内部使用的变量,其作用范围并不局限于某一程序而是任何程序均可随时调用的。全局变量一般存储一些系统的配置设定值、统计数据。
Ø输出语句
T-SQL支持输出语句,用于显示结果。常用输出语句有两种:
基本语法
示例
print在输出值不少字符串的情况下,需要用convert转换成字符串才能正常输出,而且字符串的长度在超过8000的字符以后,后面的将不会显示。
Ø逻辑控制语句
1、if-else判断语句
语法
示例
2、while…continue…break循环语句
基本语法
示例
3、case
基本语法
示例
4、其他语句
转载:http://www.cnblogs.com/hoojo/archive/2011/07/15/2107740.html
Ø变量
1、局部变量(LocalVariable)
局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使用。
基本语法:
声明变量
declare@变量名变量类型[@变量名变量类型]
为变量赋值
set@变量名=变量值;
select@变量名=变量值;
示例:
--局部变量
declare@idchar(10)--声明一个长度的变量id
declare@ageint--声明一个int类型变量age
select@id=22--赋值操作
set@age=55--赋值操作
printconvert(char(10),@age)+'#'+@id
select@age,@id
go
简单helloworld示例
declare@namevarchar(20);
declare@resultvarchar(200);
set@name='jack';
set@result=@name+'say:helloworld!';
select@result;
查询数据示例
declare@idint,@namevarchar(20);
set@id=1;
select@name=namefromstudentwhereid=@id;
select@name;
select赋值
declare@namevarchar(20);
select@name='jack';
select*fromstudentwherename=@name;
从上面的示例可以看出,局部变量可用于程序中保存临时数据、传递数据。Set赋值一般用于赋值指定的常量个变量。而select多用于查询的结果进行赋值,当然select也可以将常量赋值给变量。
注意:在使用select进行赋值的时候,如果查询的结果是多条的情况下,会利用最后一条数据进行赋值,前面的赋值结果将会被覆盖。
2、全局变量(GlobalVariable)
全局变量是系统内部使用的变量,其作用范围并不局限于某一程序而是任何程序均可随时调用的。全局变量一般存储一些系统的配置设定值、统计数据。
全局变量
select@@identity;--最后一次自增的值
selectidentity(int,1,1)asidintotabfromstudent;--将studeng表的烈属,以/1自增形式创建一个tab
select*fromtab;
select@@rowcount;--影响行数
select@@cursor_rows;--返回连接上打开的游标的当前限定行的数目
select@@error;--T-SQL的错误号
select@@procid;
--配置函数
setdatefirst7;--设置每周的第一天,表示周日
select@@datefirstas'星期的第一天',datepart(dw,getDate())AS'今天是星期';
select@@dbts;--返回当前数据库唯一时间戳
setlanguage'Italian';
select@@langIdas'LanguageID';--返回语言id
select@@languageas'LanguageName';--返回当前语言名称
select@@lock_timeout;--返回当前会话的当前锁定超时设置(毫秒)
select@@max_connections;--返回SQLServer实例允许同时进行的最大用户连接数
select@@MAX_PRECISIONAS'MaxPrecision';--返回decimal和numeric数据类型所用的精度级别
select@@SERVERNAME;--SQLServer的本地服务器的名称
select@@SERVICENAME;--服务名
select@@SPID;--当前会话进程id
select@@textSize;
select@@version;--当前数据库版本信息
--系统统计函数
select@@CONNECTIONS;--连接数
select@@PACK_RECEIVED;
select@@CPU_BUSY;
select@@PACK_SENT;
select@@TIMETICKS;
select@@IDLE;
select@@TOTAL_ERRORS;
select@@IO_BUSY;
select@@TOTAL_READ;--读取磁盘次数
select@@PACKET_ERRORS;--发生的网络数据包错误数
select@@TOTAL_WRITE;--sqlserver执行的磁盘写入次数
Ø输出语句
T-SQL支持输出语句,用于显示结果。常用输出语句有两种:
基本语法
print变量或表达式
select变量或表达式
示例
select1+2;
select@@language;
selectuser_name();
print1+2;
print@@language;
printuser_name();
print在输出值不少字符串的情况下,需要用convert转换成字符串才能正常输出,而且字符串的长度在超过8000的字符以后,后面的将不会显示。
Ø逻辑控制语句
1、if-else判断语句
语法
if<表达式>
<命令行或程序块>
elseif<表达式>
<命令行或程序块>
else
<命令行或程序块>
示例
if简单示例
if2>3
print'2>3';
else
print'2<3';
if(2>3)
print'2>3';
elseif(3>2)
print'3>2';
else
print'other';
简单查询判断
declare@idchar(10),
@pidchar(20),
@namevarchar(20);
set@name='广州';
select@id=idfromab_areawhereareaName=@name;
select@pid=pidfromab_areawhereid=@id;
print@id+'#'+@pid;
if@pid>@id
begin
print@id+'%';
select*fromab_areawherepidlike@id+'%';
end
else
begin
print@id+'%';
print@id+'#'+@pid;
select*fromab_areawherepid=@pid;
end
go
2、while…continue…break循环语句
基本语法
while<表达式>
begin
<命令行或程序块>
[break]
[continue]
<命令行或程序块>
end
示例
--while循环输出到
declare@iint;
set@i=1;
while(@i<11)
begin
print@i;
set@i=@i+1;
end
go
--whilecontinue输出到
declare@iint;
set@i=1;
while(@i<11)
begin
if(@i<5)
begin
set@i=@i+1;
continue;
end
print@i;
set@i=@i+1;
end
go
--whilebreak输出到
declare@iint;
set@i=1;
while(1=1)
begin
print@i;
if(@i>=5)
begin
set@i=@i+1;
break;
end
set@i=@i+1;
end
go
3、case
基本语法
case
when<条件表达式>then<运算式>
when<条件表达式>then<运算式>
when<条件表达式>then<运算式>
[else<运算式>]
end
示例
select*,
casesex
when1then'男'
when0then'女'
else'火星人'
endas'性别'
fromstudent;
selectareaName,'区域类型'=case
whenareaType='省'thenareaName+areaType
whenareaType='市'then'city'
whenareaType='区'then'area'
else'other'
end
fromab_area;
4、其他语句
批处理语句go
Usemaster
Go
延时执行,类似于定时器、休眠等
waitfordelay'00:00:03';--定时三秒后执行
print'定时三秒后执行';
转载:http://www.cnblogs.com/hoojo/archive/2011/07/15/2107740.html
相关文章推荐
- A-3SQL Server Transact-SQL 编程
- 转:SQL Server Transact-SQL 编程
- 创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo
- TWO~SQL Server Transact-SQL 编程
- 如何验证订阅服务器中的数据(复制 Transact-SQL 编程)
- 编程管理SQL SERVER的帐号
- 笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-01 T-SQL查询和编程基础
- 各种编程方面的CHM参考帮助手册(ADO参考手册、JavaScript参考手册、DHTML参考手册、Transact-SQL参考手册、等等)<收藏>
- T-SQL 编程与应用----学习笔记一[Microsoft SQL Server 2005]
- 在Ubuntu 10.04中文版下Qt编程,使用unixODBC和FreeTDS连接MS SQL Server 2005,并且中文不出现乱码的方法
- SQL Server Database在C#编程下遇到的问题:“provider:SQL Network Interfaces,error:26-定位指定的服务器/实例时出错”的解决办法
- Advanced Transact-SQL for SQL Server 2000 学习译文
- 访问Microsoft Sql Server Analysis Service Olap的各编程接口的适用情况
- ms SqlServer编程的疑问
- Beginning Transact-SQL With SQL Server 2000 and 2005 by Paul Turley
- T-SQL Transact-SQL 编程
- 如何通过使用 TRANSACT-SQL SQL Server 中循环访问一结果集
- SQL Server Transact-SQL 编程
- 用Transact-Sql 怎么修改由sp_addlinkedserver创建的 "链接服务器"
- SQL Server Transact-SQL 编程