数据库上机实验报告4

合集下载

数据库系统实验报告4(简单图书馆管理数据库的实现)

数据库系统实验报告4(简单图书馆管理数据库的实现)

6
图书信息表:
2.还书后: 借阅信息表:
图书信息表:
备注: 1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少 页。 2、本课程包含多次实验,请每次实验项目填写一份。
7
2
利用 sf_borrow,sf_return 进行借、还操作,并注意数据库中三个表的数据变化情况。 三、实验结果及分析 (一)创建数据库和数据表: 选择用企业管理器创建数据库、数据表
3
(二)数据相关操作: 1.查询:
2.删除:
4
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作: 1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 CREATE TRIGGER Insert_borrow ON dbo.借阅信息表 FOR INSERT AS begin update 图书信息表 set 状态=0 from Inserted i,图书信息表 t where t.书号=i.书号 end 2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。
作者 sql c++ ms java c# net
状态 1 1 1 1 1 1
借书证号 1 2 3
姓名 张三 李四 王五
住址 学三 学四 学五
并对这两个表进行删除、更新、和查询等操作 三、创建触发器、和存储过程进行借、还书操作 1) 针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 2) 针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。 3) 创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证 号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。 4) 创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号 作为参数。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告数据库上机实验网络1002 3100610055一、实验目的1.通过上机操作,加深对数据库理论知识的理解。

2.通过使用具体的微机DBMS(SQL Server),了解一种实际的数据库管理系统,并掌握其操作技术。

3.通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。

二﹑实验题目某供应商(S)供应(SPJ)某种零件(P)给某个工程项目(J),其中一个供应商可以供给多个项目零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,S﹑P﹑J﹑SPJ的数据见附表1。

三、实验报告实验报告按照各实验的实验报告内容来整理。

实验报告提交地址:ftp://202.195.168.13/(在“up”文件夹里的“《数据库系统原理A》上机实验”文件夹中找到班级文件夹)用户名:nianyi密码:123456实验报告命名规则:班级+学号+姓名,如“软件080101王鹏晓”。

四、考核上机实验采用书面分析、平时实验和最后抽查考核相结合的方法评定成绩。

实验一数据库的定义和建立一、实验目的要求学生熟练掌握和使用T-SQL﹑SQL Server对象资源管理器创建数据库﹑基本表和修改表结构,及向数据库输入数据的操作,学会创建和使用表的主码、外码和约束。

二、实验内容1﹑利用SQL Server对象资源管理器创建数据库和查看数据库属性;2﹑利用T-SQL创建基本表﹑确定表的主码、外码和相应的约束;3﹑利用SQL Server对象资源管理器创建表之间的关系图;4﹑利用T-SQL向数据库输入数据。

三、注意事项1﹑输入数据时要注意数据类型、主码和数据约束的限制。

2﹑注意数据库的主码﹑外码和数据约束的定义。

3、注意参照表和被参照表之间的关系,主码和外码间的关系。

四、实验报告内容1﹑创建基本表(包括表的主码、外码和相应的约束)的SQL语句;3﹑输入数据的SQL语句。

create table s(sno char(8) primary key,sname char(20) unique,statuss smallint,city char(20));create table p(pno char(8) primary key,pname char(20),color char(8),weightt smallint);create table j(jno char(8) primary key,jname char(20),city char(20));create table spj(sno char(8),pno char(8),jno char(8),qty smallint,primary key(sno,pno,jno),foreign key(sno) references s(sno),foreign key(pno) references p(pno), foreign key(jno) references j(jno));insertinto svalues('s1','精益','20','天津');insertinto svalues('s2','盛锡','10','北京');insertinto svalues('s3','东方红','30','北京'); insertinto svalues('s4','丰泰盛','20','天津'); insertinto svalues('s5','为民','30','上海');select*from s;insertinto pvalues('p1','螺母','红','12');insertinto pvalues('p2','螺栓','绿','17');into pvalues('p3','螺丝刀','蓝','14'); insert into pvalues('p4','螺丝刀','红','14'); insert into pvalues('p5','凸轮','蓝','40'); insert into pvalues('p6','齿轮','红','30'); select* from p;into jvalues('j1','三建','北京'); insert into jvalues('j2','一汽','长春'); insert into jvalues('j3','弹簧厂','天津'); insert into jvalues('j4','造船厂','天津'); insert into jvalues('j5','机车厂','唐山'); insert into jvalues('j6','无线电厂','常州');into jvalues('j7','半导体厂','南京'); select* from j;insertinto spjvalues('s1','p1','j1','200'); insertvalues('s1','p1','j3','100'); insert into spjvalues('s1','p1','j4','700'); insert into spjvalues('s1','p2','j2','100'); insert into spjvalues('s2','p3','j1','400'); insert into spjvalues('s2','p3','j2','200'); insert into spjvalues('s2','p3','j4','500'); insert into spjvalues('s2','p3','j5','400'); insert into spjvalues('s2','p5','j1','400'); insert into spjvalues('s2','p5','j2','100'); insert into spjvalues('s3','p1','j1','200'); insert into spjvalues('s3','p3','j1','200'); insert into spjvalues('s4','p5','j1','100'); insert into spjvalues('s4','p6','j3','300'); insert into spjvalues('s4','p6','j4','200'); insert into spjvalues('s5','p2','j4','100'); insertvalues('s5','p3','j1','200'); insert into spjvalues('s5','p6','j2','200'); insert into spjvalues('s5','p6','j4','500'); select* from spj;2﹑表之间的关系图;4、总结实验过程中遇到的问题及解决。

数据库应用上机实训报告

数据库应用上机实训报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息系统的核心组成部分。

为了提高学生的数据库应用能力,我校特开设了数据库应用上机实训课程。

本次实训旨在通过实际操作,使学生掌握数据库的基本原理、设计方法、开发工具以及数据库应用系统的搭建与维护。

二、实训目的1. 掌握数据库的基本概念、原理和设计方法。

2. 熟练运用数据库开发工具进行数据库的创建、维护和管理。

3. 学会使用SQL语言进行数据库的查询、更新、删除和插入操作。

4. 具备搭建数据库应用系统的基本能力。

三、实训内容1. 数据库设计:包括需求分析、概念设计、逻辑设计和物理设计。

2. 数据库开发工具:使用SQL Server Management Studio进行数据库的创建、维护和管理。

3. SQL语言:学习SQL语句的基本语法,掌握查询、更新、删除和插入操作。

4. 数据库应用系统搭建:以实际项目为例,学习数据库应用系统的搭建与维护。

四、实训过程1. 数据库设计(1)需求分析:了解项目背景,明确数据库应用系统的功能需求。

(2)概念设计:根据需求分析结果,设计实体-关系模型。

(3)逻辑设计:将实体-关系模型转换为关系模型,并定义表结构。

(4)物理设计:选择合适的存储引擎和数据类型,设计索引和视图。

2. 数据库开发工具使用SQL Server Management Studio创建数据库,并进行以下操作:(1)创建表:根据逻辑设计结果,创建相应的表。

(2)插入数据:向表中插入测试数据。

(3)查询数据:使用SQL语句查询表中的数据。

(4)更新数据:使用SQL语句更新表中的数据。

(5)删除数据:使用SQL语句删除表中的数据。

3. SQL语言(1)查询语句:掌握SELECT语句的基本语法,包括条件查询、排序查询、分组查询等。

(2)更新语句:掌握INSERT、UPDATE和DELETE语句的基本语法。

(3)子查询:学习使用子查询进行嵌套查询。

4. 数据库应用系统搭建以一个实际项目为例,学习数据库应用系统的搭建与维护:(1)需求分析:明确项目功能需求。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告摘要:本次数据库上机实验主要介绍了SQL语言在数据库中的应用,通过实际操作掌握了SQL语言的基本语法和常用命令,同时实践了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。

本文将详细介绍实验中所使用的数据结构和算法,以及实验数据和结果的分析与总结。

一、实验目的本次实验的目的是对数据库相关的运用做一次实践操作,包括了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。

力求将理论知识与实践经验相结合,为今后的数据库实践奠定基础。

二、实验原理本次实验中主要使用的是SQL语言对数据库进行管理。

SQL是一种结构化查询语言,可以对数据库进行查询、操作、管理等。

通过SQL语言对数据库中的数据进行增、删、改、查等操作,可以实现对数据的有效管理。

三、实验步骤1. 建立数据库首先在本地电脑建立数据库,可以通过使用全局管理工具进行实现。

2. 创建数据表在数据库中创建数据表,可以用CREATE TABLE命令来实现。

首先需要指定表的名称,其次需要指定表的字段名及其数据类型。

3. 插入数据表创建好之后,可以向表中插入数据。

可以使用INSERT命令将数据插入到表中,INSERT后面接表名和插入的数据。

4. 数据查询对于已经插入到数据库中的数据,可以进行查询操作。

可以通过SELECT语句对数据库进行查询。

SELECT后面需要指定要查询的字段名或者使用星号表示要查询全部字段。

5. 数据修改在数据库中,数据的修改一般是使用UPDATE命令来实现。

通过UPDATE语句可以修改已经存在的数据信息。

6. 数据删除表中的某个项不再需要时,可以通过DELETE语句来删除数据库中的数据项。

DELETE命令后面跟上要删除的数据。

四、实验结果通过SQL的基本命令,我们在本地电脑中成功的建立起了一个数据库,并把相关的数据插入到该数据库中。

在查询过程中,SQL可以只按照需要查询的数据来进行操作,使得数据的处理过程更加高效。

数据库系统原理上机实验报告(样例)

数据库系统原理上机实验报告(样例)

《数据库系统原理》上机实验一.实验目的围绕数据库设计和上机编程实践这两方面工作进行,通过对某种数据库产品及开发工具(Access,SQL Server,Oracle,VFP,PB,VB,VC,Delphi等)的熟悉和了解,对于给出的一个具体问题,首先通过对其综合分析,进行数据库的概念模型设计、关系数据库的逻辑结构设计,使其达到3NF或BCNF模式,然后进行在RDBMS下的设计和各个具体功能模块的编程,要求调试、测试成功,最后完成一个小型数据库应用系统。

二.实验内容对于给出的一个现实世界的实际应用项目,在正确分析问题的基础上,完成以下任务:1、用ER图方法设计概念数据库;2、用关系规范化方法设计数据库逻辑模型;3、用VFP(或任何一种关系型数据库产品)建立关系数据库;4、用PB(VFP, VB, VC,Delphi等)操纵数据库;5、用WEB数据库开发工具如JSP、ASP、操纵Web数据库(可选择)。

6、编制一个小型数据库应用系统。

三.实验过程实验一:概念数据库及逻辑数据库的设计,进一步熟悉VFP等编程语言,完成数据库的建立、数据的录入(至少5个记录,要求数据要典型)(一)问题的描述:一个图书借阅管理数据库要求提供下述服务:1)可随时查询书库中现有书籍的品种、数量与存放位置。

所有各类书籍均可由书号唯一标识。

2)可随时查询书籍借还情况。

包括借书人单位、姓名、借书证号、借书日期和还书日期。

我们约定:任何人可借多种书。

任何一种书可为多个人所借。

借书证号具有惟一性。

3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。

我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

(二)概念模型:满足上述需求的E-R图:(三)关系数据库模型:定义如下基本表:1)借书人(借书证号,姓名,单位)借书证号:读者编号,长度为4的字符型,要求唯一、非空姓名:读者姓名,长度为10的字符型单位:读者地址,长度为20的字符型2)图书(书号,书名,数量,位置,出版社名)书号:图书编号,长度为4的字符型,要求唯一、非空书名:图书书名,长度为20的字符型出版社名:出版社,长度为20的字符型,默认为’河北工业大学’作者:图书作者,长度为10的字符型价格:书价,带两位小数三位整数的数值型,要求大于0,并给出出错提示3)借阅(借书证号,书号,借书日期,还书日期)借书证号:读者编号,类型与借书人中的一致书号:图书编号,类型与图书中的一致借书日期:借阅日期,日期型,默认填写当天日期(提示:获取当前日期的函数为DATE())4)出版社(出版社名,电报,电话,邮编,地址)……(四)数据库的建立与记录的录入:1)VFP提供的开发环境:(练习基本操作)2)数据库操作:创建数据库:文件→新建→数据库→新建文件→输入库名和保存位置→建库(建立以上各表)关闭、打开、修改数据库:……往库中加入、删除表,表的修改:……3)组织数据入库:直接往数据库中录入:……通过自己开发的数据录入子系统录入:…………实验二:完成系统总体功能模块设计,利用VFP等操纵数据库,包括编程序设计一个人机交互界面,使之具有插入、修改、删除、查询等基本模块,有能力的同学可以进一步完成数据库的维护,包括权限设置、用户管理、系统维护、报表输出、数据库备份、恢复等功能。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告数据库上机实验报告引言:数据库是现代信息技术中非常重要的一个组成部分,它可以帮助我们有效地存储、管理和检索大量的数据。

本次上机实验旨在通过实际操作,加深对数据库的理解,并掌握一些基本的数据库操作技巧。

实验环境:本次实验使用的是MySQL数据库管理系统,通过MySQL Workbench进行操作。

数据库中包含了一个学生信息表,其中包括学生的学号、姓名、性别、年龄等信息。

实验内容:1. 创建数据库首先,我们需要创建一个数据库来存储学生信息。

通过在MySQL Workbench中执行CREATE DATABASE语句,我们成功创建了一个名为"student"的数据库。

2. 创建数据表接下来,我们需要在数据库中创建一个数据表来存储学生信息。

通过执行CREATE TABLE语句,我们定义了一个名为"student_info"的数据表,并指定了各个字段的名称和数据类型。

例如,学号字段的数据类型为INT,姓名字段的数据类型为VARCHAR(20)等。

3. 插入数据在数据表创建完成后,我们需要向其中插入一些数据。

通过执行INSERT INTO语句,我们成功插入了几条学生信息记录。

例如,学号为1001的学生姓名为张三,性别为男,年龄为20岁。

4. 查询数据数据库的一个重要功能就是能够快速检索和查询数据。

通过执行SELECT语句,我们可以根据特定的条件来查询数据。

例如,我们可以查询所有性别为女的学生信息,或者查询年龄在18岁以上的学生信息。

5. 更新数据有时候,我们需要修改已有的数据。

通过执行UPDATE语句,我们可以更新数据表中的记录。

例如,我们可以将学号为1001的学生姓名由张三修改为李四。

6. 删除数据如果某条数据不再需要,我们可以通过执行DELETE语句将其从数据表中删除。

例如,我们可以删除学号为1001的学生信息记录。

实验总结:通过本次实验,我对数据库的基本概念和操作有了更深入的理解。

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。

2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。

3,并且这次实习可以非常好的关心我完成将来的毕业论文。

四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。

然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。

同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。

使我们队公司有了更进一步的了解实习,就是在实践中学习。

经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。

当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。

还有发布了一些关于公司产品的博客,比如新浪,网易。

而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。

经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。

数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。

实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。

虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。

数据库综合实训上机报告

数据库综合实训上机报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为各行各业不可或缺的基础技术。

为了提高学生的数据库应用能力,我们学院开展了数据库综合实训课程。

本次实训旨在通过上机实践,让学生全面掌握数据库设计、创建、查询、维护等基本操作,提高学生的数据库应用技能。

二、实训目标1. 掌握数据库设计的基本原则和方法;2. 熟练运用SQL语言进行数据库操作;3. 学会使用数据库管理系统(如SQL Server、MySQL等)进行数据库的创建、查询、维护等操作;4. 培养学生团队协作能力和沟通能力。

三、实训内容1. 数据库设计(1)需求分析:了解项目背景,分析项目需求,确定数据库功能。

(2)概念设计:根据需求分析,设计实体关系图(ER图),确定实体、属性和关系。

(3)逻辑设计:将ER图转换为关系模型,设计数据库表结构,确定表之间的关系。

(4)物理设计:选择合适的数据库管理系统,创建数据库,设计存储过程、触发器等。

2. 数据库创建与操作(1)创建数据库:使用SQL语句创建数据库,设置用户权限。

(2)创建表:根据设计好的表结构,使用SQL语句创建表,设置字段属性、约束等。

(3)插入、删除、修改数据:使用SQL语句进行数据的增删改操作。

(4)查询数据:使用SELECT语句进行数据查询,包括简单查询、条件查询、多表查询等。

3. 视图与存储过程(1)创建视图:根据查询需求,使用SQL语句创建视图,简化查询操作。

(2)创建存储过程:封装常用操作,提高代码重用性。

4. 数据库维护与优化(1)备份与恢复:定期备份数据库,确保数据安全。

(2)索引优化:合理创建索引,提高查询效率。

(3)性能监控:监控数据库性能,及时发现问题并解决。

四、实训过程1. 组建实训小组:每组由3-5人组成,明确分工,提高团队协作能力。

2. 分阶段完成任务:按照实训内容,分阶段完成数据库设计、创建、操作、维护等任务。

3. 汇报与交流:每个小组定期汇报实训进度,分享经验,互相学习。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库上机实验报告 4
学号:姓名:日期:年月日
实验目的:(1)练习连接查询;(2)练习视图的创建与使用;(3)学习使用ODBC的方法;(4)体验T-SQL的功能;体验存储过程的功能;体验表值函数、标量值函数的作用;体验ranking等功能。

1 练习视图及连接查询。

(1)创建一个视图,视图名为viNF,视图内容为select id,count(*) as nf from friends group by id。

执行成功后,将SQL语句复制到下方。

(2)基于viNF视图,查找拥有最多好友的用户、最少好友的用户。

执行成功后,将SQL语句复制到下方。

(3)基于users表和viNF视图进行连接查询。

分别进行内连接、全外连接、左外连接、右外连接四种操作。

执行成功后,将SQL语句复制到下方,并回答:四种结果表,哪两个的结果是一致的,为什么?
(4)将题(3)中全外连接保存为一个新的视图viUAF。

2 通过ODBC用Excel打开users表。

3 体验T-SQL。

回顾实验2中的题目:
定义最低价格为成本价;依据此成本价做如下计算:
连接Goods,Goods_Extent,Sellers表,按照总利润,输出前10名;要求输出表的格式为(商品名称,卖家名称,商品价格,运费,卖家信誉,卖家好评率,历史销量,历史利润,期内销量,期内利润,总销量,总利润)
利用如下语句进行查询,体会和之前有什么不同。

如感兴趣,自己可以仿照写一个变量定义、赋值及应用的例子。

declare @cost as float;
select @cost=min(good_price)from goods;
select top 10
good_name as商品名称,
goods.seller_name as卖家名称,
good_price as商品价格,
good_shipping as运费,
rp_as_seller as卖家信誉,
positive_percent_as_seller as卖家好评率,
good_soldbefore as历史销量,
good_soldbefore*(good_price-@cost)as历史利润,
good_soldinterm as期内销量,
good_soldinterm*(good_price-@cost)as期内利润,
good_soldbefore+good_soldinterm as总销量,
(good_soldbefore+good_soldinterm)*(good_price-@cost)as总利润
from goods,goods_extent,sellers
where goods.good_id=goods_extent.good_id and goods.seller_id=sellers.seller_id
order by总利润desc;
4 体验存储过程。

执行如下语句:
CREATE PROCEDURE Notes_SQL
@id int
AS
BEGIN
print('存储过程样例');
select id,gender,homeprovince from users where id in(select friendID from friends where id=@id);
END
执行完毕后,在可编程性 存储过程下查看自己创建的存储过程,并右键点击修改存储过程,观察所展示的代码与上述代码的不同之处。

在查询窗口中执行如下语句,理解这一存储过程:
exec Notes_SQL 155100422;
5 体验存储过程的输入和输出。

执行如下语句:
CREATE Procedure cal_median
@sourceTB nvarchar(100),
@sourceColumn nvarchar(100),
@sourceConditions nvarchar(500),
@median float out
AS
BEGIN
declare @sql nvarchar(1000)
declare @median_bottom float
declare @median_top float
set@sql ='SELECT @median_bottom=MAX( '+@sourceColumn +' ) FROM (SELECT TOP 50 PERCENT
'+ @sourceColumn +' FROM (select '+ @sourceColumn +' from '+ @sourceTB +' where ' + @sourceConditions +') as variable_list ORDER BY '+ @sourceColumn +' ) AS BottomHalf' exec sp_executesql@sql,N'@median_bottom float out', @median_bottom out
set @sql ='SELECT @median_top=MIN( '+ @sourceColumn +' ) FROM (SELECT TOP 50 PERCENT '+ @sourceColumn +' FROM (select '+ @sourceColumn +' from '+ @sourceTB +' where ' +@sourceConditions +') as variable_list ORDER BY '+@sourceColumn +' DESC) AS TopHalf' exec sp_executesql@sql,N'@median_top float out', @median_top out
set @median =round((@median_bottom+@median_top)*1.0/2,2)
END
在查询窗口中执行如下语句,理解这一存储过程是如何实现输出的:
declare @median float
exec cal_median'users','nFriends','homeProvince=''陕西''',@median out
print @median
6 体验表值函数。

执行如下语句:
create function getFriends(@id as int)
returns @friends table (id int, gender varchar(2), place varchar(50))
as
begin
insert into@friends select id,gender,homeprovince from users where id in(select friendID from friends where id=@id);
return;
end
执行完毕后,在可编程性→函数→表值函数下查看自己创建的表值函数,并右键点击修改函数,观察所展示的代码与上述代码的不同之处。

在查询窗口中执行如下语句,理解表值函数的应用方式:
select*from getFriends(155100422)
7 体验标量值函数。

执行如下语句:
create function getFriendsNumber(@id as int)
returns int
as
begin
declare @nFriends int;
set @nFriends=(select count(*)from friends where id=@id);
return @nFriends;
end
执行完毕后,在可编程性→函数→标量值函数下查看自己创建的标量值函数,并右键点击修改函数,观察所展示的代码与上述代码的不同之处。

在查询窗口中执行如下语句,理解标量值函数的应用方式:
select*,dbo.getFriendsNumber(id)from users
注:若此处报错,查看标量值函数的函数名,对dbo做相应修改。

8 体验ranking等功能。

执行如下语句:
select*,row_number()over (partition by good_place order by good_price)from goods
执行完毕后,观察执行结果。

将row_number替换为rank, dense_rank,观察不同之处。

相关文档
最新文档