当前位置:首页 > 数据库技术及应用课程实验 - 图文
实验5 T-SQL编程
1 自定义数据类型的使用
实验目的
(1)掌握用户自定义数据类型的使用; (2)掌握变量的分类及其使用。
实验要求
(1)了解T-SQL支持的各种基本数据类型; (2)了解自定义数据类型使用的一般步骤:
(3)了解T-SQL各种运算符、控制语句的功能及使用方法。
实验步骤
(1)对于产品销售数据库CPXS,首先自定义一数据类型,用于描述产品编号和销售商编号。在查询分析器编辑窗口输入如下程序并执行: USE cpxs
EXEC sp_addtype ‘id_type’,’int’,’not null’ G0
注意:不能漏掉单引号。
(2)通过SQL语句新定义3个表:
产品表:表名为CPl,描述产品信息;
销售商表:表名为XSSl,描述销售商信息;
产品销售表:表名为XSCPl,描述产品的销售信息。
各表结构如表5—1~表5—3所示。
表5-1 CPl表结构
列名 CPBH CPMC JG KCL 数据类型 长度 是否为空 说明 产品编号,系统自动编码,主键 产品名称 价格 库存量 自定义类型(id-typel 同int × 字符型(char) 浮点型(float) 整型(int) 30 8 4 × √ √
表5-2 XSSl表结构
列名 XSBH XSMC DQ FZR DH BZ
数据类型 长度 是否为空 × × √ √ √ √ 说明 销售商编号,系统自动编码,主键 销售商名称 地区 负责人 电话 备注 自定义类型(id-type) 同int 字符型(char) 字符型(char) 字符型(char) 字符型(char) 文本(text) 30 10 8 12 16
17
表5-3 XSCPl表结构
列名 CPBH XSBH XSSJ SL JE 数据类型 长度 是否为空 说明 自定义类型(id-typel 同int × 产品编号,与CPl表中CPBH字段对应, 自定义类型(id-typel 同int × 销售商编号,与XSSl表中XSBH字段对应, Datetime 整型(int) 浮点型(float) 8 4 8 CPBH与XSBH组合构成主键 × 销售时间 × 数量 × 金额 在查询分析器编辑窗口输入如下程序并执行:
(1)通过企业管理器查看查询分析器执行上述语句后创建的自定义类型; (2)通过企业管理器查看查询分析器执行上述语句后创建的各表。
18
2 自定义函数的使用
实验目的
(1)掌握各种控制语句的使用;
(2)掌握系统函数及用户自定义函数的使用。
实验要求
(1)了解T-SQL控制语句的功能及使用方法; (2)了解自定义函数使用的一般步骤。
实验步骤
(1)定义函数实现如下功能:对于标志变量flag,如果flag=0,那么对于一给定的CPBH的值,查询该值在CPl表中是否存在,若存在返回0,否则返回1;如果flag=l,那么对于一给定的XSBH的值,查询该值在XSSl表中是否存在,若存在返回2,否则返回3。 在查询分析器的编辑窗口输入如下程序并执行:
(2)写一段T-SQL程序调用上述函数。
先分别向表CPl和表XSSl插入记录,当向XSCPl表插入一记录时,首先调用函数
19
CHECK-ID检索该记录的CPBH的值在表CPl的CPBH字段中是否存在对应值,及该记录的XSBH的值在表XSSl的XSBH字段中是否存在对应值,若二者均存在,则将该记录插入XSCPl表。 在查询分析器编辑窗口输入如下程序并执行:
(3)编写如下程序:
? 自定义一表值函数,根据标志变量flag的值,返回不同的记录集:当flag=l时,返回CPl表的记录集;当flag=2时,返回XSSl表的记录集;当flag=3时,返回XSCPl表的记录集,然后在查询分析器中执行。
? 在企业管理器中查看自定义的函数。
? 编写程序调用自定义的表值函数并在查询分析器中执行。
(4)对于学生成绩管理数据库xscj,设有如下3个表:学生表xs、课程表kc和选课表xskc。
各表结构如表5-4一表5-6所示。
表5-4 xs表结构
列名 xh xm xb shr
数据类型 char char bit datetime 长度 6 8 1 是否为空 × × √ √ 说明 学号,主键 姓名 性别 出生日期 表5.5 kc表结构 列名 kcbh kcmc xf
数据类型 char char int 长度 6 20 是否为空 × × √ 说明 课程编号,主键 课程名称 学分 表5-6 xskc表结构 列名 xh kcbh c1
数据类型 char char int 长度 6 6 是否为空 × × √ 学号 课程编号,xh与kcbh构成主键 成绩 说明 请写出如下T-SQL语句并在查询分析器中执行: ? 创建数据库xscj;
? 自定义一数据类型描述该数据库中的学号字段: ? 编写代码定义数据库各表。
20
共分享92篇相关文档