2022年数据库编程题 .pdf
视图的创建和管理1、创建视图(1)启动企业管理器,在产品销售数据库CPXS 中创建价格小于 2000 的产品视图 VIEW_CP_PRICE2000, 要求加密并保证对该视图的更新都要符合价格小于 2000 这个条件,写出创建过程和对应的T-SQL 语句:create view VIEW_CP_PRICE2000 as select * from CP where 价格2000 with check option ( 2) 打 开 查 询 分 析器 ,用 T-SQL 语句 创 建 各 客 户 购 买 产 品的 情况VIEW_GMQK视图,包括客户编号、客户名称、产品编号、产品名称、价格,购买日期、购买数量。create view VIEW_GMQK as select CPXSB.客户编号 ,客户名称 ,CPXSB.产品编号 ,产品名称 ,价格,销售日期购买日期 ,数量 购买数量from CP,CPXSB,XSS where CPXSB.产品编号 =CP. 产品编号and CPXSB.客户编号 =XSS.客户编号(3)创建分区视图:在CPXS 数据库中创建 CP1 和 CP2两个表, CP1 表中为编号小于等于 100010 产品数据, CP1 表中为编号大于 100010 产品数据,以分区列为产品编号,创建可更新的分区视图VIEW_CP12。create table CP1 ( 产品编号 char(6) primary key check(产品编号 100010), 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 产品名称 char(30) not NULL, 价格 float(8), 库存量 int ) create view VIEW_CP12 as select 产品编号 ,产品名称 ,价格,库存量from CP1 union all select 产品编号 ,产品名称 ,价格,库存量from CP2 游标的使用1、声明游标(1)使用 SQL-92 语法声明一只进只读游标CUR1:要求结果集 2004 年 3月 18 日销售情况。declare cur1 cursor for select * from CPXSB where 销售日期 =2004-3-18 for read only (2)使用 T-SQL 扩展声明一滚动动态游标CUR2:要求结果集为客户信息,并能通过该游标修改客户名称列。declare cur2 scroll cursor for select * from XSS for update of 客户名称2、打开游标打开 CUR2 游标。3、读取游标中数据编写程序,实现依次读取游标CUR2 中各行数据。fetch next from cur2 while FETCH_STATUS=0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - begin fetch next from cur2 end 4、关闭游标关闭 CUR2 游标。5、释放游标释放 CUR2 游标。deallocate cur2 T-SQL语言编程基础1、变量的定义和赋值创建一名为Customer_name的局部变量,并在SELECT 语句中使用该变量查找“广电公司”购买产品的情况。declare Customer_name char(10) set Customer_name= 广电公司 begin select 客户名称 ,CPXSB.* from XSS,CPXSB where XSS.客户编号 =CPXSB.客户编号and 客户名称 =Customer_name end 2、用户自定义数据类型定义、使用和删除用 SQL 命令定义一名为Customer_id的用户自定义数据类型,要求char(6),NOT NULL ,并把该自定义数据类型用来定义XSS 表中的客户编号,然后删除该自定义数据类型,请叙述该过程,并写出相关语句。exec sp_addtype Customer_id,char(6),not null create table XSS ( 客户编号Customer_id PRIMARY KEY , 客户名称CHAR(30) NOT NULL, 地区 CHAR(30), 负责人 CHAR(8), 电话 CHAR(12) ) exec sp_droptype Customer_id 3、T-SQL 语言编程(1)用 T-SQL语言编程输出 3300之间能被 7 整除的数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - declare a int,i int set i=3 set a=7 while(i300) begin if(i%a=0) print i set i=i+1 end (2)用 T-SQL语言编程输出 3100之内的素数。declare a int,b int,i int set i=3 while (i100) begin set a=2 set b=1 while (a0 begin raiserror( 不允许修改,16,1) rollback transaction end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -