SQL server入门:T-SQL编程

>[1]局部变量

declare @name varchar(8)-----name为变量名,varchar为数据类型

局部变量赋值:

1. set @name = value

2. select @name = value

declare @name varchar(8)
set @name = 李文才
select * from stuinfo where stuname = @name
declare @seat int
set @seat = stuseat from stuinfo where stuname = @name
select * from stuinfo where (stuseat = @seat+1) or (stuseat = @seat-1)
go
  ……………………………………………………………………………………………………………………………………

>[2]全局变量

@@error  最后一个T-SQL错误的错误号

@@identity 最后一次插入的标识列

@@language 当前使用的语言的名称

@@max_connections 可以创建的同时连接的最大数目

@@rowcount 受上一个SQL语句影响的行数

@@servername 本地服务器的名称

@@servicename 该计算机上的SQL服务的名称

@@timeticks 当前计算机上每刻度的微妙数

@@transcount 当前连接打开的事物数

@@version SQL Server的版本信息

……………………………………………………………………………………………………………………………………

>[3] if-else 条件语句

if(条件)
begin
语句1
语句2
……
end
else
……

declare @myavg float
set @myavg = avg(writtenexam) from stumarks
print 平均分+convert(varchar(5),@myavg)
if(@myavg>70)
begin
print 本班笔试成绩优秀,前三名的成绩为:
select top 3 * form stumarks order by writtenexam desc
end
else
begin
print 本班笔试成绩较差,后三名的成绩为:
select top 3 * from stumarks order by writtenexam
end

……………………………………………………………………………………………………………………………………

>[4] while 循环语句

declare @n int
while(1=1)-----条件永远成立
begin
set @n = count(*) from stumarks where writtenexam<60
if(@n>0)
update stumarks set writtenexam = writtenexam+2
else
break
end

print 加分后的成绩为:

select * from stumarks

……………………………………………………………………………………………………………………………………

>[5] case 多分支语句

case
when 条件1 then 结果1
when 条件2 then 结果2
………
else
end

select * form stumarks
select stuno,成绩 = case
when writtenexam<60 then e
when writtenexam between 60 and 69 then d
when writtenexam between 70 and 79 then c
when writtenexam between 80 and 89 then b
else a
end
from stumarks

时间: 2024-10-29 21:04:58

SQL server入门:T-SQL编程的相关文章

MS SQL Server入门教程

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft,Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本.在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server 移植到Windows NT. MS SQL基础教程:SQL Server 2000 简介 MS SQL基础教程:SQL Server 2000 的新特性 MS SQL基础教程:SQ

Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程

原文:Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程 Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程 Red Gate系列文章: Red Gate系列之一 SQL Compare 10.2.0.1337 Edition 数据库比较工具 完全破解+使用教程 Red Gate系列之二

关于SQL Server 2000和SQL Server 2005分布式事务能否协同工作的测试

server|分布式 关于SQL Server 2000和SQL Server 2005分布式事务能否协同工作的测试 MS DTC Report 1.      MS DTC 背景 2.      MSDTC 测试目的 3.      MSDTC 测试环境 3.1            本次验证测试环境: 3.2            环境配置 3.3            验证MSDTC 3.4            创建验证用表 4.      Linked Server测试 5.     

[SQL Server]管理常用SQL语句

server|语句 [SQL Server]管理常用SQL语句 1. 查看数据库的版本        select @@version 2. 查看数据库所在机器操作系统参数        exec master..xp_msver 3. 查看数据库启动的参数         sp_configure 4. 查看数据库启动时间         select convert(varchar(30),login_time,120) from master..sysprocesses where spi

怎么让sql server中的sql语句自动换行

怎么让sql server中的sql语句自动换行呢? 如下图: 工具--选项--所有语言 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/

你应该升级到SQL Server 2005还是SQL Server 2008?

虽然SQL Server2005已经推出了约3年了,奇怪的是,很多公司仍然没有将SQL Server2000升级.现在这些公司面临着再次作出决定--是跳过升级到SQL Server 2005 还是直接到SQL Server 2008?要作出这个选择并不简单,本文主要讨论有关这一问题必须要考虑的事情. 升级到SQL Server 2005 没有太大的意义,SQL Server 2005是SQL Server的一个版本,在此之后只有一格版本推出.在其他的版本中,你减少了服务器的支持窗口.如果升级到S

SQL Server执行动态SQL正确方式

SQL Server执行动态SQL的话,应该如何实现呢?下面就为您介绍SQL Server执行动态SQL两种正确方式,希望可以让您对SQL Server执行动态SQL有更深的了解. 动态SQL:code that is executed dynamically.它一般是根据用户输入或外部条件动态组合的SQL语句块.动态SQL能灵活的发挥SQL强大的功能.方便的解决一些其它方法难以解决的问题.相信使用过动态SQL的人都能体会到它带来的便利,然而动态SQL有时候在执行性能(效率)上面不如静态SQL,

sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同

原文:sql点滴38-SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同 说明:       以前要将一个表中的数据导出为脚本,只有用存储过程.现在在SQL Server 2008中增加了一个新特性,除了导出表的定义外,还支持将表中的数据导出为脚本. 步骤:     右击需要导出数据的数据库,在弹出式菜单中选择"任务"下的"生成脚本"选项      在第二步选择"高级选项"如果不是2008(R2)的选择 &

【SQL SERVER 数据库实用SQL语句】

[SQL SERVER 数据库实用SQL语句] 1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.分页SQL语句 select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from 表名 As tab) As t where rownum between 起始位置