数据库实验报告1

合集下载

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。

本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。

1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。

数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。

数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。

2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。

(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。

(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。

(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。

(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。

3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。

SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。

SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。

(2) 表名:指定创建的表格的名称。

(3) 列名和数据类型:指定表格中的各列名称和数据类型。

(4) 主键:指定表格中的主键。

(5) 外键:指定表格中的外键。

4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。

数据库实验实验报告

数据库实验实验报告

一、实验目的1. 熟悉数据库的基本概念和结构。

2. 掌握数据库的创建、修改和删除操作。

3. 熟练运用SQL语言进行数据的查询、插入、更新和删除操作。

4. 了解数据库的安全性和备份与恢复。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据7. 修改表结构8. 删除表9. 数据库备份与恢复四、实验步骤1. 创建数据库(1)打开MySQL Workbench,连接到本地MySQL服务器。

(2)在“查询”窗口中输入以下SQL语句创建数据库:```sqlCREATE DATABASE student;```(3)执行SQL语句,创建名为student的数据库。

2. 创建表(1)在“查询”窗口中输入以下SQL语句创建学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```(2)执行SQL语句,创建名为student的表。

3. 插入数据(1)在“查询”窗口中输入以下SQL语句插入数据:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, '男'); INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, '女'); ```(2)执行SQL语句,向student表中插入三条数据。

数据库实验1报告

数据库实验1报告

一.实验目的本实验要求学生掌握数据库技术的基本技术,熟悉数据库设计的每个步骤中的人物和实施方法,并加深对数据库系统概念和特点的理解,使学生熟悉数据库需求分析的整体过程,熟悉数据库需求分析的文档格式,并掌握数据库需求分析的方法。

二.实验软件环境PC机,SQL Server Management Studio,SQL Server 2000查询分析器三.实验内容通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

(1)初始阶段:从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集原材料,制定约束和规范。

收集原材料是这阶段的重点。

通过调查和观察结果、业务流程、原有系统的输入输出、各种报表、收集原始数据,形成基本数据资料表。

(2)定义实体:实体集成员都有一个共同的特征和属性集,可以从收集的原材料中直接或间接标识出大部分实体。

根据原材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。

(3)定义联系:定义实体之间的联系类型。

(4)定义码:定义各个实体的主、外码等约束。

四.实验的结果及分析1用户需求用户需求分析是否准确反映了用户的实际要求,将直接影响到后面各个阶段的设计,并将影响到设计结果是否合理和实用。

设计人员必需不断深入地与用户交流,才能逐步确定实际需求。

1.1.系统现状,系统现状的主要功能有:(1)读者种类的定义、更新、查询主要实现读者种类标准的制定,如:种类编号、种类名称、借书数量、借书期限、有效期限、备注等。

(2)读者基本信息的输入、查询、更新包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、登记日期、备注等。

(3)书籍类别的定义、更新、查询主要实现书籍类别标准的制定,如:类别编号、类别名称、关键词、备注信息等。

数据库的实验总结(汇总22篇)

数据库的实验总结(汇总22篇)

数据库的实验总结第1篇20XX年12月28号,我们商务班踏上了实训的道路。

而1月9号我们实训也已经结束。

为期8天的实训让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。

本次实训的目的是让我们掌握数据库设计的方法、原理和技术,把理论与实践相结合,巩固课堂教学内容。

经过我们小组的激烈讨论,这次实训我们从12个选题当中选择了仓储管理系统。

大部分小组都选图书借阅管理系统,而我们小组就是不走寻常路的。

仓储管理看似简单的一个选择,却很复杂。

当老师让我们设计数据流图的时候,我们自我感觉是已经做流最充分的准备了,可是当老师给我们检查的时候,错误和漏洞一个个被发现并指正。

而我们虚心接受了老师的指导。

而我们发现简单的一个仓储管理系统包含了很繁琐而杂多的多系,所以我们果断摘取其中的一个部分————物流。

仓储管理是现代物流不可或缺的重要环节。

首先,仓储管理是对货物质量的保证;其次仓储管理是保证生产顺利进行的必要条件;最后,合理性的仓储管理是加快商品流通、节约流通费用的必要手段。

现在真正到了我们创建数据库的时候了,当然首要的任务是建表了,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。

从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。

我们实训的另一个内容是数据库的约束、视图、查询。

从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。

而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。

使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以xxx视图向基表中添加、修改和删除数据。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告一、实验目的本实验旨在通过设计与实现一个简单的学生信息管理系统,来加深对数据库基本概念和SQL语言的理解,并掌握数据库的创建、表的设计、数据的增删改查等基本操作。

二、实验环境本次实验的开发环境为以下软件与工具:1. 数据库管理系统:MySQL2. 编程语言:Java3. 开发工具:Eclipse IDE4. Web服务器:Apache Tomcat三、实验内容及步骤1. 数据库的创建与连接首先,在MySQL中创建一个名为"student_system"的数据库,并通过JDBC连接该数据库。

在Java代码中,使用JDBC的API进行数据库连接操作,包括加载驱动、建立连接等步骤。

2. 数据表的设计与创建在student_system数据库中创建一个名为"student"的数据表,该表用于存储学生的基本信息。

表中应包含学号(id)、姓名(name)、性别(gender)和专业(major)等字段,并设置合适的数据类型和约束。

3. 数据的插入与修改通过SQL语句,在student表中插入若干条学生信息,包括学号、姓名、性别和专业。

同时,通过SQL的UPDATE语句,修改某些学生的信息。

4. 数据的查询编写SQL语句,实现对学生信息的查询。

可以根据学号或姓名等关键字进行查询,并返回符合条件的学生信息。

5. 数据的删除根据指定的学号或姓名,编写SQL语句实现对学生信息的删除操作。

删除后,该学生的信息将不再存在于数据库中。

四、实验结果经过以上实验步骤的设计与实现,在学生信息管理系统中,成功地创建了student表,并成功插入了若干学生信息。

通过SQL语句的查询和修改操作,可以准确地获取和修改学生的信息。

此外,删除操作也能够成功地从数据库中删除指定学生的信息。

五、实验总结通过本次实验,我进一步掌握了数据库的基本操作与SQL语言的应用。

在实验过程中,我理解到数据库的设计与搭建是一个关键步骤,合理的表结构和约束条件对于数据的管理和有效性有着重要的影响。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

(完整版)数据库实验报告

(完整版)数据库实验报告

数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。

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

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。

(5分)exec sp_rename v_spj, v_spj_三建;2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分)(1)创建一个带参数的存储过程—jsearch。

该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME)。

执行jsearch存储过程,查询“J1”对应的信息。

(10分)create proc jsearch @jno char(2)as select sname, pname, jname from s,p,j,spjwhere s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno;执行: exec jsearch 'J1'(2)使用S表,为其创建一个加密的存储过程—jmsearch。

该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。

(10分)创建加密存储过程:create proc jmsearch with encryption asselect * from s where s.city='北京';sp_helptext jmsearch;(3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。

(5分)用系统存储过程sp_helptext查看jsearch:exec sp_help jsearch;exec sp_helptext jsearch;用系统存储过程sp_helptext查看jmsearch:exec sp_help jmsearch;exec sp_helptext jmsearch;(4)执行jmsearch存储过程,查看北京供应商的情况。

(5分)exec jmsearch;(5)删除jmsearch存储过程。

(5分)drop proc jmsearch;3.针对Student数据库,创建和执行如下的触发器:(共计40分)(1)删除SC表上的外键约束,针对SC表创建一个名为insert_s的INSERT触发器。

该触发器的功能:当用户向SC表中插入记录时,如果插入的cno值不是C表中Cno 的已有值,则提示用户“不能插入记录这样的纪录”,否则提示“记录插入成功”。

触发器创建成功之后,向SC表插入记录,验证触发器是否正常工作。

(5分)create trigger insert_son SCinstead of insertasdeclare @cno char(4)beginselect @cno = cno from insertedif @cno=any(select cno from C)beginselect '记录插入成功'insert into SCselect * from insertedendelseselect'不能插入记录这样的记录'endreturn验证:insert into SCvalues ('95007', '5', '99');(2)为S表创建一个名为dele_s1的DELETE触发器,该触发器的作用是禁止删除S表中的记录。

触发器创建成功之后,删除S表中的记录,验证触发器是否正常工作。

(5分)create trigger dele_s1on Sinstead of deleteasbeginrollbackprint '禁止删除S表中的记录'end验证:deletefrom Swhere sno = '95007'(3)为S表创建一个名为dele_s2的DELETE触发器,该触发器的作用是删除S表中的记录时删除SC表中该学生的选课纪录。

触发器创建成功之后,删除S表中的记录删除S表中的记录,验证触发器是否正常工作(SC表中的数据被正常删除)。

(5分) create trigger dele_s2 on Safter deleteasdeclare @sno nchar(9)beginselect @sno=sno from deleteddelete SCwhere sno=@snoend删除验证:delete Swhere sno='95007'(4)为S表创建一个名为update_s的UPDATE触发器,该触发器的作用是禁止更新S表中“sdept”字段的内容。

触发器创建成功之后,更新S表中“sdept”字段的内容,验证触发器是否正常工作。

(5分)create trigger update_s on Safter updateasbeginif UPDATE(sdept)beginROLLBACKPRINT '禁止更新sdept字段'EndEND验证:update Sset sdept=’cf’where sno='95001'无法删除。

(5)禁用update_s触发器。

禁用之后,更新S表中的“sdept”字段的内容,验证触发器是否还继续正常工作。

(5分)disable trigger update_s on Sdisable trigger update_s on S验证:update Sset sdept='cf'where sno='95001'(6)删除update_s触发器。

(5分)drop trigger update_s(7)创建一个新的课程成绩统计表 CAvgGrade(Cno, Snum, examSNum, avgGrade),分别表示课号,选该课程的学生人数,参加考试人数,该门课程的平均成绩。

利用触发器实现如下的功能:当SC表中有记录插入、删除或者某个人的成绩更新时,自动更新表CAvgGrade。

注意SC表中的grade为NULL时表明该学生还未参加考试,计算平均成绩时不需要计算该成绩,但是grade为0即考试成绩为0时,需要计算该成绩。

(10分)create table CAvgGrade(Cno smallint,Snum smallint,examSNum smallint,avgGrade smallint);declare @no smallintdeclare @snum smallintdeclare @examsnum smallintdeclare @avggrade smallintset @no=1;while(@no<7)beginselect @snum= count(distinct sno)from SCwhere cno=@no;select @examsnum= count(distinct sno)from SCwhere cno=@no and grade is not null;select @avgGrade=AVG(grade)from SCwhere o=@no and grade is not nullinsert CAvgGradevalues(@no,@snum,@examsnum,@avggrade)set @no=@no+1end创建触发器:create trigger tri_sc on SCafter delete,update,insertasdeclare @grade smallintdeclare @num smallintdeclare @old_cno smallintdeclare @examsnum smallintdelete CAvgGradeDECLARE mycursor CURSOR for select cno from C--游标是缓冲区!!!open mycursorfetch next from mycursor into @old_cnowhile(@@fetch_status=0)beginselect @grade=AVG(grade),@num=COUNT(*) from SC where cno=@old_cno group by cnoselect @examsnum= count(distinct sno)from SCwhere cno=@old_cno and grade is not null;insert into CAvgGradevalues(@old_cno,@num,@num,@grade)fetch next from mycursor into @old_cnoset @grade=nullset @num=nullendclose mycursor验证:插入:insert into SCVALUES('95007',6,100);删除:delete SCWHERE sno='95007'更新:UPDATE SCSET cno=4where sno='95001'and cno=14.创建一个works数据库,其中包含员工表empoyee(eID, eName, salary),假设该表中有1000条员工数据,完成下列要求(总计20分,每题10分)。

(1)为了协助本题自动生成1000条员工数据,创建一个自动生成员工ID的用户自定义函数generateEID。

其中员工ID要求是一个8位的数字,前四位表示插入员工数据的当前年份,后四位按照从0001到9999的顺序增长。

例如2015年插入的第一条数据是20050001,所有1000条员工ID分别是20150001-20151000。

调用该函数实现自动插入1000条数据。

(注意插入数据的时候员工姓名可以为任意值,工资是2000-5000之间的数字)自定义函数:create function generateEID()returns intasbegin declare @temp intselect @temp=count(eID)from empoyeewhere eid between year(GETDATE())*10000and year(GETDATE())*10000+9999;select@temp = year(GETDATE())*10000 + @temp + 1 return @temp enddeclare @i intset @i=0while @i<1000 begininsert into empoyeeselect [dbo].generateEID(),char(65+floor(RAND()*26))+char(65+floor(RAND()*26))+char(65+floor(RAND()*26 )),2000+floor(RAND()*3000)select @i=@i+1 end(2)该公司计划为员工按照一定的规则涨工资,请使用游标创建一个存储过程,执行该存储过程完成本次工资调整:工资增长规则如下:●工资在3000元以下,每月涨300元;●工资在3000-4000元之间,每月涨200元;●工资大于或者等于4000元,每月涨50元;create procedure change_salaryas begin declare @salary int;declare empoyee_cursor cursorfor select salary from empoyee;open empoyee_cursor fetch nextfrom empoyee_cursor into @salary;while(@@FETCH_STATUS=0)beginif (@salary<3000) set @salary=@salary+300else if(@salary>4000) set @salary=@salary+50else set @salary=@salary+200update empoyee set salary=@salarywhere current of empoyee_cursorfetch nextfromempoyee_cursor into @salary endcloseempoyee_cursordeallocate empoyee_cursor end二. 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

相关文档
最新文档