实验7_T-SQL语言编程基础[1]1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七T-SQL语言编程基础
【实验目的与要求】
1.熟练掌握变量的定义和赋值。
2.熟练掌握各种运算符。
3.熟练掌握流程控制语句,尤其是条件语句和循环语句。
【实验内容与步骤】
一、准备实验数据
CPXS数据库包含如下三个表:
CP(产品编号,产品名称,价格,库存量);
XSS(客户编号,客户名称,地区,负责人,电话);
CPXSB(产品编号,客户编号,销售日期,数量,销售额);
三个表结构如图2.1~图2.3所示,请在企业管理器中完成表的创建。
图2.1CP表结构
图2.2XSS表结构
图2.3CPXSB表结构
2.1数据写入操作
在企业管理器中输入如图2.4~图2.6的CP表、XSS表和CPXSB表的样本数据。
图2.4CP表的样本数据
图2.5XSS表的样本数据
图2.6CPXSB表的样本数据
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中的所有全局变量都使用两个@@标志作为前缀.
常见全局变量
2)全局变量的使用
运行以下程序段,理解全局变量的使用。
use cpxs
go
select*from cp
insert into cp values('0221055','爱多VCD',2326,12)
select当前的错误号=@@error
--0
update CP set库存量=120where产品编号='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表中价格与平均值的比较,将低于平均值的数据行输出来。
给出相应的语句段和运行结果:
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)
给出运行结果:
2.练习:编写一个程序用于计算10的阶乘