当前位置:文档之家› 实验7_T-SQL语言编程基础[1]1

实验7_T-SQL语言编程基础[1]1

实验七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的阶乘
给出相应的程序和运行结果:
10.4.完成以下T-SQL语言编程
(1)用T-SQL语言编程输出3~300之间能被7整除的数。

给出相应的程序和运行结果:
declare@i int
select@i=3
print'3~300能被7整除的数:'
while@i<=300
begin
if@i%7=0
begin
print convert(char(3),@i)
end
set@i=@i+1
end
(2)用T-SQL语言编程输出3~100之内的素数。

给出相应的程序和运行结果:
declare@i int,@f int,@j int
select@i=3
while@i<=100
begin
set@f=1
set@j=2
while@j<@i
begin
if@i%@j=0
begin
set@f=0
break
end
set@j=@j+1
end
if@f=1
print+@i
set@i=@i+1
end
(3)在CP表中查找名为”长虹彩电”的产品,如果存在,则显示该产品的信息;否则,显示”查无此产品”。

给出相应的程序和运行结果:
declare@name char(20)
select@name=产品名称
from cp
where产品名称='长虹彩电'
if@name='长虹彩电'
select*
from cp
where产品名称=@name
else print'查无此产品'
(4)查看有无客户编号为”000004”的销售记录,如果有,则显示“有”,并查询显示该客户销售的产品信息。

给出相应的程序和运行结果:
declare@customer_num char(6)
select@customer_num=客户编号
from xss
where客户编号='000004'
if@customer_num='000004'
begin
select*
from cpxsb
where客户编号=@customer_num
end
else print'查无此产品'。

相关主题