实验10 T-SQL语言编程基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十 T-SQL语言编程基础
姓名:学号:
专业:网络工程班级:
同组人:无实验日期:2012-4-19【实验目的与要求】
1.熟练掌握变量的定义和赋值。
2.熟练掌握各种运算符。
3.熟练掌握流程控制语句,尤其是条件语句和循环语句。【实验内容与步骤】
10.1. 变量的定义与输出
1.变量的定义和赋值
1) 局部变量的声明:
DECLARE @variable_name DataType
例如:
declare @stuname varchar(20)--声明一个存放学员姓名的变量stuname.
declare @stuseat int--声明一个存放学员座位号的变量stuseat
2) 局部变量的赋值:
局部变量的赋值有两种方法:
a) 使用Set语句
Set @variable_name=value
b) 使用Select语句
Select @variable_name=value
实验:
运行以下程序段,理解变量的使用。
--局部变量的赋值与使用
declare @customer_name varchar(20)--声明变量用来存放客户名称
set @ customer_name ='家电市场'--使用SET语句给变量赋值
select*
from xss
where客户名称=@customer_name --通过局部变理向sql语句传递数据
请给出运行结果:
练习:
创建一名为 Product_name的局部变量,并在SELECT语句中使用该变量查找“冰箱”的”价格”和”库存量”。
给出相应的语句
declare @Product_name varchar(20)
set @Product_name ='冰箱'
select价格,库存量
from CP
where产品名称= @Product_name
请给出运行测试结果:
2.两种输出语句:
1) Print 输出单个的局部变量或字符串表达式. 如:PRINT '价
格合理';
2) Select 局部变量 as 自定义别名。
3.全局变量:
1) SQL Server2005中的所有全局变量都使用两个@@标志作为
前缀.
常见全局变量
变量含义
@@ERROR 最后一个T-SQL错误的错误号
@@IDENTITY最后一次插入的标识值@@LANGUAGE当前使用的语言的名称
@@MAX_CONNECTIONS 可以创建的同时连接的最大数目
@@ROWCOUNT 受上一个SQL语句影响的行数
@@SERVERNAME本地服务器的名称
@@SERVICENAME 此计算机上的SQL服务的名称
@@TRANSCOUNT当前连接打开的事务数@@VERSION SQL Server的版本信息
@@TIMETICKS 当前计算机上的每刻度的微秒数
2) 全局变量的使用
运行以下程序段,理解全局变量的使用。
use cpxs
go
select*from cp
insert into cp values('0221055','爱多
VCD',2326,12)
select当前的错误号=@@error
--0
update CP set库存量=120 where产品编号
='0221055'
print'当前的错误
号'+convert(varchar(20),@@error)
--当前的错误号
select更新的产品编号=@@identity
--6
select当前使用的语言的名称=@@language
--简体中文
select本地服务器的名称=@@servername
--DEMONSTRATOR
select此计算机上SQL服务的名称=@@servicename
--MSSQLSERVER
select SQLServer的版本信息=@@version 给出运行结果:
10.2. 条件结构
1. 在查询分析器中执行下面的语句,体会IF...ELSE...结构
DECLARE @Price float
SELECT @Price =价格 FROM CP WHERE 产品编号='100002' IF @Price >=3000
PRINT '价格偏高'
ELSE
PRINT '价格合理'
PRINT '价格为:'+CONVERT(CHAR(5),@Price)
给出运行结果:
2.练习:自己编写一段程序判断CP表中价格与平均值的比较,将低于平均值的数据行输出来。
给出相应的语句段和运行结果:
declare @Avg_price float
select @Avg_price =avg(价格)from CP
select产品均价=@Avg_price
print'产品均价是:'+convert(char(20),@Avg_price)
select*
from CP
where价格<@Avg_price
10.3. 循环结构
1.下面是计算1~100和的循环结构,执行之,体会循环结构程序。(注意语句块标志BEGIN...END)
DECLARE @SUM INT,@I INT
SELECT @I=1,@SUM=0
WHILE @I<=100
BEGIN
SELECT @SUM=@SUM+@I
SELECT @I=@I+1
END
PRINT '1...100的和为:'+CONVERT(CHAR(4),@SUM)
给出运行结果: