实验四:视图及索引的建立和维护
4.1 实验目的与内容
目的:创建表的视图,修改和删除表的视图,并利用视图完成表的查询,创建表的索引、修改和删除表的索引。
内容:11-3~5、11-9~11。
报告:以11-3、11-4、11-9作为实验四的报告。
4.2 实验代码及结果
4.2.1 实验代码
4.2.1.1 11-3实验代码
(1)
CREATE VIEW CustomerView20112723 AS SELECT Cust_no,Cust_name,Sex,Discount FROM customer20112723 WHERE City='北京'
sp_help CustomerView20112723 (2)
CREATE VIEW TrainningView20112723 AS
SELECT person20112723.P_no,P_name,Sex,Deptname,SUM(Order_total) AS Achievement FROM person20112723,orderdetail20112723
WHERE person20112723.P_no=orderdetail20112723.P_no AND Deptname='培训部' AND P_boss is not null AND Order_date>=GETDATE()-365 GROUP BY person20112723.P_no,P_name,Sex,Deptname sp_help TrainningView20112723 4.2.1.2 11-4实验代码
(1)
CREATE INDEX name_sort20112723 ON person20112723(P_name) (2)
CREATE INDEX birth_name20112723 ON person20112723(Birthdate,P_name) (3)
CREATE UNIQUE INDEX u_name_sort20112723 ON person20112723(P_name) (4)
CREATE NONCLUSTERED INDEX fact_idx20112723 ON salary20112723(Fact DESC) 4.2.1.3 11-9实验代码
UPDATE CustomerView20112723 SET Discount=0.85
WHERE Cust_name='王云' select *from Customer20112723
4.2.2 实验结果
4.2.2.1 11-3实验结果 (1)
第 9 页 共 17 页
(2)
4.2.2.2 11-4实验结果 (1)
(2)
第 10 页 共 17 页
(3)
(4)
4.2.2.3 11-9实验结果 对视图进行修改
对表没有影响
第 11 页 共 17 页
实验五:存储过程的建立和维护
5.1 实验目的与内容
目的:创建用户的存储过程,修改和删除存储过程、执行存储过程。 内容:11-22~24。
报告:以11-24作为实验五的报告。
5.2 实验代码及结果
5.2.1 实验代码
CREATE PROC proc_addbonus(@P_no CHAR(6),@Add DEC(5,1) OUTPUT) AS
DECLARE @Order_total INT
DECLARE cur_addbonus_checks CURSOR FOR SELECT P_no,Order_total FROM orderdetail20112723 WHERE P_no=@P_no SELECT @add=0
OPEN cur_addbonus_checks
FETCH cur_addbonus_checks INTO @Order_total IF(@@fetch_status<>0) BEGIN
CLOSE cur_addbonus_checks
DEALLOCATE cur_addbonus_checks RETURN END
SET NOCOUNT ON
WHILE(@@fetch_status=0) BEGIN
IF @Order_total<=100000 SET @add=@add+20
ELSE SET @add=@add+@Order_total/100000*30 FETCH cur_addbonus_checks INTO @Order_total END
ClOSE cur_addbonus_checks
DEALLOCATE cur_addbonus_checks RETURN
5.2.2 实验结果
第 12 页 共 17 页
相关推荐: