/* T-SQL编程 */ 1、准备数据库ACCP if exists (select name from sys.databases where name='accp') drop database accp go create database accp go 2、创建表 create table t1 ( tid int not null, sid int ) go insert into t1 values(101,201) insert into t1 values(102,202) insert into t1 values(103,203) go 3、全局变量 @@error 最后一个Sql错误号 @@identity 最后一次插入的标识值 @@language 当前使用语言 @@max_connections 最大并列连接数 @@rowcount sql语句影响行数 @@servername 服务器名 @@servicename 服务名 @@timeticks 当前计算机上刻度的微秒数 @@version 当前版本信息 @@trancount 当前连接的事务数 @@nestlevel 当前存储过程的嵌套级别 @@options 有关set选项的信息 @@pack_received 启动后从网络读取的输入数据包数 @@pack_sent 启动从写入网络的数据包数 @@packet_errors 网络错误数 @@procid 当前模块对象的标识符 @@spid 当前用户进程的会话ID @@textsize 返回set语句中textsize选项的当前值 @@total_errors 启动后所遇到的磁盘写入错误数 @@total_read 读取磁盘次数 @@total_write 写入磁盘次数 4、局部变量 声明变量:declare @name int 赋值: set @name=5 或select @name=5 需要注意的是赋值的select语句不能与查询语句一起使用,如下面是错误的: select @name=name,age,sex from people 5、输出语句 print '当前错误号'+convert(varchar(5),@@error) select '当前错误号'+cast(@@error as varchar(5)) 6、逻辑控制语句 1)if语句 declare @i int,@j int,@m int select @i=5,@j=6 if @i<@j begin set @m=@i set @i=@j set @j=@m end else begin print '变量i的值大于变量j的值' end go 2)while循环 declare @n int while 1=1 begin select @n=count(*) from t1 if @n>0 begin print '表中有记录' break end else begin print '表中无记录' break end end go 3)case语句 declare @n int,@m varchar(10) select @n=count(*) from t1 set @m=case when @n==1 then '有1条记录' when @n==3 then '有3条记录' else '不知道有多少记录' end