四、试验心得
通过本次课程的学习与试验,了解了什么是视图和索引,并掌握了如何创建视图和索引。感觉用建立好的视图进行查询比用表查询要简单得多。 在索引上关于聚簇与非聚簇的概念有一点小迷糊,总体来说感觉这次的试验做的还是挺好的。
试验七 T-SQL语言编程基础
一、试验目的与要求
1、熟练掌握变量的定义和赋值。
2、熟练掌握用户自定义数据类型定义、使用和删除。 3、熟练掌握各种运算符。
4、熟练掌握流程控制语句,尤其是条件语句和循环语句。 5、熟练并掌握常用的系统函数。
二、试验内容
1、变量的定义和赋值
创建一名为CUSTOMER_NAME的局部变量,并在SELECT语句中使用该变量查找“厂电公司”购买产品的情况。 2、用户自定义数据类型定义、使用和删除
用SQL命令定义一名为Customer_id的用户自定义数据类型,要求char(6),NOT NULL,并把该自定义数据类型用来定义XSS表中的客户编号,然后删除该自定义数据类型,请叙述该过程,并写出相关语句。 3、T-SQL语言编程
(1)用T-SQL语言编程输出3-300之间能被7整除的数。 (2)用T-SQL语言编程输出3-100之内的素数。
三、试验步骤
1、变量的定义和赋值
创建一名为CUSTOMER_NAME的局部变量,并在SELECT语句中使用该变量查找“厂电公司”购买产品的情况。
DECLARE @CUSTOMER_NAME VARCHAR(30) SELECT @CUSTOMER_NAME = '厂电公司' SELECT * FROM XSS
WHERE 客户名称=@CUSTOMER_NAME
截图如下:
2、用户自定义数据类型定义、使用和删除
用SQL命令定义一名为Customer_id的用户自定义数据类型,要求char(6),NOT NULL,并把该自定义数据类型用来定义XSS表中的客户编号,然后删除该自定义数据类型,请叙述该过程,并写出相关语句。
//建立自定义数据类型
sp_addtype 'Customer_id','char(6)','not null' //用自定义数据类型来定义XSS1表 CREATE TABLE XSS1
( 客户编号Customer_id PRIMARY KEY NOT NULL,
客户名称char(30) NOT NULL, 地区char(10), 负责人char(8),
电话char(12)) DROP TABLE XSS1
//删除自定义数据类型
sp_droptype 'Customer_id'
截图如下:
3、T-SQL语言编程
(1)用T-SQL语言编程输出3-300之间能被7整除的数。
DECLARE @i int SET @i=3
WHILE @i<=300 BEGIN
END
IF @i%7!=0 SET @i=@i+1 ELSE PRINT @i SET @i=@i+1
截图如下:
(2)用T-SQL语言编程输出3-100之内的素数。
DECLARE @a int,@i int SET @i=3 WHILE @i<=100
BEGIN
SET @a=2
WHILE @a<=sqrt(@i)
IF (@i%@a=0) break SET @a=@a+1
BEGIN
END
IF @a>sqrt(@i) PRINT @i SET @i=@i+1
END
截图如下:
四、试验心得
通过本次课程的学习与试验,了解了变量的定义与赋值、用户自定义数据类型的概念以及用T-SQL语言编程的知识。其中关于用户自定义数据类型的删除,刚开始不知道为什么删除不了,最后通过查阅课件才知道必须要先把使用该自定义类型的表删除之后才能删除自定义的数据类型。关于T-SQL语言编程,我感觉总体与C语言相差不大,像一些条件语句等,但是写法有很大不同,像变量的定义等,刚开始由于不适应,老是写错,这个需要大量的练习。
试验八 存储过程
一、试验目的与要求
熟练掌握存储过程的创建、调用和删除。
二、试验内容
对于CPXS数据库,创建如下存储过程: (1)无参存储过程
编写一无存储存过程用于查询每个客户购买产品的情况(包括客户编号、产品编号、客户名称、产品名称、价格、购买日期、购买数量),然后调用该存储过程。
(2)带有参数的存储过程
编写一加密存储,查询指定客户购买产品的情况。并调用该存储,查询客户编号为“000002”的客户购买情况。 (3)带有通配符参数的存储过程
编写一存储,查询指定产品的销售情况。如果没有提供参数,则查询产品名称中包含有“冰箱”的产品销售情况。 (4)带有OUTPUT参数的存储过程
编写一存储,查询指定客户在指定时间段内购买指定产品的数量,存储过程中使用了输入和输出参数。
三、试验步骤
(1)无参存储过程
编写一无存储存过程用于查询每个客户购买产品的情况(包括客户编号、产品编号、客户名称、产品名称、价格、购买日期、购买数量),然后调用该存储过程。
CREATE PROC proc_1 AS
SELECT XSS.客户编号,客户名称,CP.产品编号,产品名称,价格,CPXSB.销售日期,数量 FROM XSS,CP,CPXSB
WHERE XSS.客户编号=CPXSB.客户编号 AND CPXSB.产品编号=CP.产品编号 EXEC proc_1
截图如下: