内容发布更新时间 : 2024/11/5 15:57:19星期一 下面是文章的全部内容请认真阅读。
(1)基于VIEW_CP_PRICE2000视图,查询价格在2000以下产品的产品编号、名称和价格。
select 产品编号,产品名称,价格 from VIEW_CP_PRICE2000
(2)基于VIEW_GMQK视图,查询各客户在20004年3月18日购买产品的情况。 select * from VIEW_GMQK where 购买日期='2004-3-18'
3、更新视图
利用T-SQL语句对于视图VIEW_12进行以下数据更新。 (1) 插入一条CP记录(’ '100042','数码相机',3500,2)。 insert into VIEW_CP12
values('100042','数码相机',3500,2,null)
(2) 将产品编号为’100042’的价格改为3000。 update VIEW_CP12 set 价格=3000
where 产品编号='100042'
(3) 删除产品编号为’100042’的产品。
delete VIEW_CP12
where 产品编号='100042'
4、修改视图
将VIEW_CP_PRICE2000视图不加密。 alter view VIEW_CP_PRICE2000 as
select* from CP where 价格<2000 with check option
5、删除视图
将VIEW-GMQK视图删除。 drop view VIEW_GMQK
实验八
1、声明游标
(1)使用SQL-92语法声明一只进只读游标CUR1:要求结果集20XX年3月18日销售情况。
declare CUR1 insensitive cursor for
select *from CPXSB where 销售日期='2004-3-18' for read only
(2)使用T-SQL扩展声明一滚动动态游标CUR2:要求结果集为客户信息,并能通过该游标修改客户名称列。 declare CUR2 cursor scroll for
select * from XSS
for update of 客户名称
2、打开游标
打开CUR2游标。 open CUR2
3、读取游标中数据
编写程序,实现依次读取游标CUR2中各行数据。
fetch next from CUR2
while @@FETCH_STATUS=0 begin
fetch next from CUR2 end
4、关闭游标
关闭CUR2游标。 close CUR2
5、释放游标
释放CUR2游标。 deallocate CUR2
实验九
1、变量的定义和赋值
创建一名为 Customer_name的局部变量,并在SELECT语句中使用该变量查找“广电公司”购买产品的情况。
declare @Customer_name varchar(20) set @Customer_name='广电公司'
select 客户名称,CPXSB.*from CPXSB,XSS
where 客户名称=@Customer_name and XSS.客户编号=CPXSB.客户编号
2、用户自定义数据类型定义、使用和删除
用SQL命令定义一名为Customer_id的用户自定义数据类型,要求char(6),NOT NULL, 并把该自定义数据类型用来定义XSS表中的客户编号,然后删除该自定义数据类型,请叙述该过程,并写出相关语句。
sp_addtype 'Customer_id','char(6)','not null' sp_droptype 'Customer_id'
先用创建语句自定义数据类型,然后打开“数据库-CPXSB-表”,右击XSS,选择“设计表”,将客户编号的数据类型 改为Customer_id,保存即可
将客户编号的数据类型改回char(6),然后用第二个语句删除该用户自定义数据类型
3、T-SQL语言编程
(1)用T-SQL语言编程输出3~300之间能被7整除的数。 declare @i int,@j int set @i=3 set @j=7
while @i<=300 begin
if(@i%@j)=0 print @i
set @i=@i+1
end
(2)用T-SQL语言编程输出3~100之内的素数。 declare @i int,@j int,@t int set @i=3
while @i<100 begin
set @j=2 while @j<@i begin
set @t=@i%@j if @t=0 break set @j=@j+1 if(@j>=@i) print @i end
set @i=@i+1 end
实验十
1、函数的定义
对于CPXS数据库,定义完成如下功能的函数: (1)据产品名称,查询该产品的相关信息;(函数名为FU_CP) create function FU_CP(@产品名称 char(30)) returns table as return
select * from CP where 产品名称=@产品名称
(2)按某年某季度统计给定产品名称的销售数量及销售金额;分别用名为FU1_CPXS内嵌表值函数和名为FU2_CPXS的多语句表值函数。
create function FU1_CPXS(@year int,@quarter int,@产品名称 char(30)) returns table as return
select 产品名称,sum(数量) as 销售数量,sum(销售额) as 销售金额 from CP,CPXSB
where CP.产品编号=CPXSB.产品编号 and datepart(yy,销售日期)=@year and datepart(qq,销售日期)=@quarter and 产品名称=@产品名称