资源描述
1.
一个用于存储学生选课信息的数据库XK,由学生信息表student、课程信息表course和选课信息表ordering组成。其中,表student统计学生的学号、姓名、性别、年龄等信息;表course统计课程的课程号、课程名称、讲课教室等信息;表ordering描述学生的选课信息,并统计学生所选课程的成绩。
在考生文献夹下已创建了数据库XK、表student、表course和表ordering,并初始化了对应数据,请考生查阅其结构与数据,完成下列操作。
注意:如下操作题必须编写对应的SQL语句,并最少执行一次该命令。
1) 使用UPDATE语句,将表student中字段stu_id为0002的学生年龄更新为"20"。
2) 使用SELECT语句查询学生信息表中所有男生的姓名,且按年龄的升序排序,最后把此SELECT语句存入考生文献夹下的sj12.txt文献中。
3) 使用SELECT语句查询课程成绩不及格的学生姓名,并此SELECT语句存入考生文献夹下的sj13.txt文献中。
4) 建立一个名为stu_user的用户,并为其授予有关表student的SELECT、INSERT权限。
5) 使用INSERT语句向表ordering中添加如下一条信息:学号为0001的学生选修了课程号为005的课程,因该课程尚未结束,故目前没有成绩。
1) 使用如下SQL语句可在数据库XK中创建一个触发器,其实目前表student中删除学生信息时,可自动删除该学生的选课信息。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2) 使用如下SQL语句可在数据库XK中创建一个存储过程,用于实现给定表course中一个课程号course_id,即可为表course中该课程号所对应的课程指定一个新的讲课教室。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2使用如下SQL语句可在数据库XK中创建一个触发器,其实目前表student中删除学生信息时,可自动删除该学生的选课信息。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2) 使用如下SQL语句可在数据库XK中创建一个存储过程,用于实现给定表course中一个课程号course_id,即可为表course中该课程号所对应的课程指定一个新的讲课教室。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
3生文献夹下存有一个sj3.php文献简单的PHP程序,可实现通过该程序从数据库XK中查询出所有女同学的学号和姓名,并能以网页表格的形式列出这些学生的学号和姓名信息。
请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文献名保存在考生文献夹下,否则没有成绩。
2
一个用于存储学生借阅图书信息的数据库JY,由学生信息表student、图书信息表book和借阅信息表reading组成。其中,表student统计学生的学号、姓名、性别和年龄等信息;表book统计图书的书号、书名、作者和价格等信息;表reading描述图书借阅信息,并统计为学生办理图书借阅的老师姓名。
在考生文献夹下已创建了数据库JY、表student、表book和表reading,并初始化了对应数据,请考生查阅其结构与数据,完成下列操作。
注意:如下操作题必须编写对应的SQL语句,并最少执行一次该命令。
1) 在数据库JY中,使用CREATE语句创建一个统计出版社社号、社名和地址等信息的表publisher,包括pub_id(社号)、pub_name(社名)、pub_address(地址)等三个字段,对应的字段类型分别为整型、字符串型(char(30))和字符串型(char(30)),要求pub_id字段作为该表的主键,pub_name和pub_address字
段不能为空。
2) 使用ALTER语句,修改表book的表结构,为其添加一个名为pub_post的列,用于关联图书的出版社信息,该列值允许为NULL,数据类型为整型。
3) 使用INSERT语句向表reading中添加如下一条借阅信息:名为"wen"的老师为学号0008的学生办理了书号为006的图书借阅。
4) 使用DELETE语句删除表reading中学号为0003学生的借阅信息。
5) 使用SELECT语句查询书号为003的书名,并此SELECT语句存入考生文献夹
1) 创建一个名称为v_student的视图,能够查询借阅了书名为"高等数学"的学生所有信息。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2) 创建一个存储过程,功效是将书名中含有"计算机"的所有图书价格增加10%。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
在考生文献夹下存有一个sj3.php文献简单的PHP程序,可实现通过该程序从数据库JY中检索所有图书的信息,并以网页表格形式列出图书的书号、书名、价格和作者。
请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文献名保存在考生文献夹下,否则没有成绩。
3 在给定的学生选课数据库xsxk中有一个学生表,包括的属性有学号,姓名,出生日期,学院名称,请按要求完成如下操作。
1. 使用SQL命令在学生表中增加一个属性列QQ,以统计学生的QQ号,类型为varchar,长度为20,允许为空。
2. 使用SQL语句为选课表上的学号字段建立外码FK_XH。
3. 使用SQL命令查询每个学院的学生总人数,要求给学生总人数取别名:总人数,显示学院名称和总人数,并将此SELECT语句存入考生文献夹下的sj13.txt文献中。
4. 使用SQL命令查询没有选过任何课程的学生学号,姓名,出生日期,学院名称,并将此SELECT语句存入考生文献夹下的sj14.txt文献中。
5. 为"信息学院"的学生设计一个视图V_选课(姓名,课程名称,课程学分,成绩)。
给定xsxk(学生选课)数据库中包括学生、课程和选课三个数据表,请按要求
完成如下操作。
1. 设计一个名称为fn_学分的存储函数,依照给定的课程名称返回该课程对应的学分。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2. 设计一个存储过程PR_学分,依照学号返回学生的总学分(注意:成绩>=60分才能取得对应的学分)。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
在考生文献夹下存有一个sj3.php文献简单的PHP程序,是对学生选课数据库设计一个查询学生成绩的页面,要求依照学号和课程名称查询学生的成绩。该程序是不完整的,请在注释"//**********found**********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found**********"。修改后的程序存盘时不得变化文献名和文献夹。
4学生选课数据库xsxk中包括学生、课程和选课三个数据表,请按要求完成如下操作。
1. 使用SQL命令在选课表上依照学号和课程名称采取BTREE的索引类型创建一个复合索引index_选课。
2. 使用SQL命令查询"C语言程序设计"这门课程成绩前三名学生的学号、课程名称和成绩,并将此SELECT语句存入考生文献夹下的sj12.txt文献中。
3. 使用SQL命令查询同时选修"C语言程序设计"和"操作系统"两门课程的学生学号,并将此SELECT语句存入考生文献夹下的sj13.txt文献中。
4. 设计一个视图V_成绩(课程名称、平均成绩),要求显示课程名称和每门课程平均成绩(保存2位小数),并按平均成绩降序排列。(提示:使用函数ROUND(x float, y int)取小数位数)
5. 创建test用户,并将xsxk的所有权限赋予test用户。
给定学生选课数据库xsxk中包括学生、课程和选课三个数据表,请按要求完成如下操作。
1. 设计一个名称为tr_选课的触发器,完成的功效是:当在选课表上插入一条统计之前,若该统计中的学号和课程名称在学生表和课程表中不存在,则在有关表中插入对应统计。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2. 设计一个存储函数fn_平均成绩,依照学生姓名返回学生的平均成绩。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩
在考生文献夹下存有一个sj3.php文献的简单PHP程序,是对学生选课数据库xsxk设计一个查询学生选修课程的总学分页面,要求依照学号查询学生的总学分。该程序是不完整的,请在注释行"//**********found**********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found**********"。修改后的程序存盘时不得变化文献名和文献夹。
5
在考生文献夹下有kwgl数据库,存储试题中所提及的数据表。
1. 既有学生模型:S(SNO,SName,Sex,Age)(阐明:学号,姓名,性别,年龄),现要求创建该表,SNO列为主键自动增加整数列,SName(char(10)),性别使用char(1),值"M/F"分别表示"男/女",年龄字段为整型。请编写SQL语句创建该表,并按(姓名,年龄,性别)的形式完成一条统计("wangwei",21,"F")的插入操作。
2. 对于所创建的学生表S,要求按照性别进行分组统计学生的平均年龄,并按照下面的方式输出,并将此SELECT语句存入考生文献夹下的sj12.txt文献中。
+------+----------+
| 性别 | 平均年龄 |
+------+----------+
| | |
| | |
+------+----------+
3. 既有企业表:company(id, company_name, location) (阐明:编号,企业名称,企业所处城市)。请编写SQL语句查出所有位于同一个城市的企业名称对(两个不一样企业的名称)、以及它们所处的城市名称,要求成果按照下面的格式输出,并将此SELECT语句存入考生文献夹下的sj13.txt文献中。(可包括所有不一样次序的企业名称对)
+------------+-----------+----------+
| company1 | company2 | location |
+------------+-----------+----------+
| | | |
| | | |
+------------+-----------+----------+
4. kwgl数据库中有学生表(student)、系别表(dept):student:{sid,sname,score,deptno}(字段阐明:学号,姓名,成绩,系别编号)dept:{deptno,deptname }(字段阐明:系别编号,系名称)
请编写SQL语句查出各个系中,成绩高于该系平均成绩的学生人数,要求查询出系名称和详细人数,并将此SELECT语句存入考生文献夹下的sj14.txt文献中。
+----------+----------+
| deptname | count(*) |
+----------+----------+
| | |
+----------+----------+
5. 为了让市场部的新用户wang能够访问MySQL服务器,
①管理员用CREATE语句
为其创建了一个名为wang的用户,并处在安全考虑,将其登录位置指定为市场部IP:192.168.2.12,密码为"@1A*g=";当该用户尝试访问市场部数据库market时,发觉管理员并未授予其权限。
②管理员使用授权语句,对用户wang授予market数据库上的所有权限,并允许其进行权限转移。
请编写出这里提到的语句①②,分别完成用户创建、用户密码修改和用户
权限授予。
在考生文献夹下有kwgl数据库,存储试题中所提及的数据表。
1. 既有Customers表,其中列customerNumber为客户编号(整数列)、列creditlimit信贷限额(整数列)统计了某个用户目前的透支上限,请修改一个存储过程,要求依照输入的客户编号,通过一个输出参数得出用户的评级情况(字符串)。若目前信贷限额不小于50000,则用户评级为 "1st Level";若当
前信贷限额不小于等于10000且小于等于50000,则用户评级为"2nd Level";若目前信贷限额小于10000,则用户评级为 "3rd Level"。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2. kwgl数据库中有学生表(student)、系别表(dept):
student:{sid,sname,score,deptno}(字段阐明:学号,姓名,成绩,系别编号)
dept:{deptno,deptname }(字段阐明:系别编号,系名称)
请修改函数GetAvgScoreByDeptName计算指定系的学生平均成绩,输入系名字符串,返回DOUBLE类型的平均成绩。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
在考生文献夹下有kwgl数据库,存储试题中所提及的数据表。
kwgl数据库中有学生表(student)、系别表(dept):student:{sid,sname,score,deptno}(字段阐明:学号,姓名,成绩,系别编号)dept:{deptno,deptname }(字段阐明:系别编号,系名称)
在考生文献夹下有一个sj.php页面,如下图所示:
初始情况下(即直接访问sj3.php时),显示出deptno=10001的院系。然后,在下拉框中列出所有院系的名称(deptname),在点击提交按钮时,依照用户的选择,使用Get方式,再次将祈求发送到本页面进行服务器端处理,依照Get中参数deptno指定的院系编号,检索student表,列出指定院系所有学生的学号和成绩;在此响应中,需保持下拉框中院系的选择情况与用户提交时的选择情况一致。如下图所示:
请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文献名保存在考生文献夹下,否则没有成绩。
6
在考生文献夹给出的企业数据库db_emp中有职工表tb_employee和部门表tb_dept,tb_employee包括的字段有eno(职工号)、ename(姓名)、age(年龄)、title(职务)、salary(工资)和deptno(部门号),tb_dept包括的字段有deptno(部门号)、dname(部门名称)、manager(部门责任人)、
telephone(电话)。
1. 用SQL语句完成如下操作:给企业新增加一个"公关部",部门号为"D4",电话为"",并任命"Liming"担任部门责任人。
2. 用SQL语句将tb_employee表中salary字段的默认值修改为3500。
3. 用SQL语句查询"销售部"的员工总人数,要求查询成果显示为"总人数",并将此SELECT语句存入考生文献夹下的sj13.txt文献中。
4. 用SQL语句为"采购部"建立一个员工视图v_emp,包括职工号(eno)、姓名(ename)、年龄(age)和工资(salary)。
5. 使用SQL语句,在目前系统中新建一个用户,用户名为Yaoming,主机名为localhost,密码为"abc123",授予其对db_emp数据库中tb_employee表的更新权限,并允许其能够将此权限授予其他人。
在考生文献夹下给出的企业数据库db_emp中包括职工表tb_employee和部门表tb_dept。
1. 设计一个名称为tr_emp的触发器,完成的功效是:当删除部门表中的统计时,将职工表中的部门信息置空。并使用命令触发该触发器,并查当作果。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
2.设计一个名称为fn_emp的存储函数,要求能依照给定的部门名称返回该部
门的工资总和。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请考生删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩。
在考生文献夹下存有一个sj3.php文献的简单PHP程序,功效是对给定的企业数据库db_emp设计一个职工表tb_employee的操作页面,如下图所示。要求依照输入的职工号查询该职工的基本信息,点击"修改"按钮能够修改职工的基本信息
但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得变化文献名和文献夹。
7在考生文献夹存有一商场信息管理系统的数据库db_mall,其包括一个统计商品有关信息的商品表tb_commodity,该表包括的字段有商品号(cno)、商品名(cname)、商品类型(ctype)、产地(origin)、生产日期(birth)、价格(price)和产品阐明(desc1)。
1. 使用SQL语句,计算商品表中北京产的电视机的价格总和(字段名为:total),并将此SELECT语句存入考生文献夹下的sj11.txt文献中。
2. 使用SQL语句,将商品表中的产品阐明(desc1)字段删除,以简化该表。
3. 使用SQL语句,在商品表中添加如下一行信息,商品名:钢笔;商品类型:文具;产地:上海;生产日期:-12-25;价格:25。
4. 使用SQL语句,在数据库db_mall中创建一个视图v_bjcommodity,要求该视图包括商品表中产地为北京的所有商品信息。
5. 使用SQL语句,在目前系统中新建一个用户,用户名为client,主机名为localhost,并为其授予对商品表中商品号(cno)字段和商品名(cname)字段的select权限。
在考生文献夹下存有一商场信息管理系统的数据库db_mall,其包括一个统计商品有关信息的商品表tb_commodity,该表包括的字段有商品号(cno)、商品名(cname)、商品类型(ctype)、产地(origin)、生产日期(birth)、价格(price)。
1. 请创建一个名为tri_price的触发器,在插入新的商品统计时,能够依照商品的品名和产地自动设置商品的价格,其详细规则如下:若商品为上海产的电视机,则价格设置为2800,其他商品价格的设置可为缺省。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩,最后运行测试。
2. 请创建一个名为sp_counter的存储过程,用于计算商品表tb_commodity的商品统计数。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩,最后运行测试。
在考生文献夹下存有一个名为sj3.php的简单PHP程序文献,其成功运行后可将数据库db_mall的商品表tb_commodity中产地为武汉的电冰箱价格调整为3888。
但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得变化文献
名和文献夹。
8在考生文献夹给出的学生数据库db_student中有学生表tb_student和课程成绩表tb_score,tb_student包括的字段有sno(学号)、sname(姓名)、sage(年龄)和smajor(专业),tb_score包括的字段有sno(学号)、cname(课程名称)和grade(成绩)。
1. 使用SQL语句,在tb_student表中添加一个字段ssex,数据类型为char,长度为1,缺省值为"M"。
2. 用SQL语句将学号为100的学生的专业改为"计算机"。
3. 用SQL语句在tb_score表上建立一个视图v_avg(cname,caverage),视图的内容包括课程名称及课程的平均成绩。
4. 用SQL语句在tb_student表上建立有关学号的唯一性索引idx_stu。
5. 新建一个名称为newuser的用户,主机名为localhost,并为其授予对tb_student表的select权限。
1. 设计一个名称为fn_cmax的存储函数,依照给定的课程名返回选修该课程的最高分,并写出调用函数的语句。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩,最后运行测试。
, 2.设计一个名称为ev_bak的事件,每日零时零分将学生数据库db_student中学生表tb_student的数据备份到考生文献夹下的文献bakfile.txt中。
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩,最后运行测试。
在考生文献夹下存有一个sj3.php文献的简单PHP程序,是对给定的学生数据库db_student设计一个学生表tb_student的操作页面,如下图所示。要求实现课程成绩录入的功效,输入学号后点击查询按钮可显示对应的姓名、专业,输入课程名称和成绩后,点击"添加"按钮能够添加学生的课程成绩。
但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得变化文献名和文献夹。
9
既有数据库mysqltest:
1. 在数据库mysqltest中,创建Dept1表:Dept1(deptno,dname,higherdeptno) ,阐明:部门编号(整型),部门名称(定长字符串、长度20),上级部门编号(整型,缺省值为NULL),并建立名为
fk_higher的主外键关联。
2. 既有部门表:Dept2(deptno,dname,higherdeptno) (阐明:部门编号,部门名称,上级部门编号),请编写SQL语句,查找出所有第二级部门的名称(没有上级部门的部门为第一级部门),并此SQL语句存入考生文献夹下的sj12.txt文献中,不存则不得分。
3. 学生S(sno, sname, sex, age)、课程C(cno, cname)、选课SC(sno,cno,grade) , 请编写SQL语句,为选修课程"JAVA"的学生学号、姓名、课程成绩,建立视图SJAVA。
4. 学生S(sno, sname, sex, age)、课程C(cno, cname)、选课SC(sno,cno,grade),请编写SQL语句,将学生李红选修的课程DB的成绩改为90。
5. 创建一个名为backupdb的用户,指定其仅在localhost上登录,密码为"backup"。
【参考答案】
1.
CREATE TABLE Dept1
(
deptno INT,
dname CHAR(20),
higherdeptno INT DEFAULT NULL REFERENCES Dept1(deptno),
PRIMARY KEY(deptno)
);
2.SELECT dname FROM dept2 WHERE higherdeptno!='';
3.CREATE VIEW SJAVA AS SELECT s.sno,s.sname,SC.grade FROM s,c,sc WHERE s.sno=sc.sno AND o=o AND ame='JAVA';
4.UPDATE sc SET grade=90 WHERE sno=(SELECT sno FROM s WHERE sname='李红') AND cno=(SELECT cno FROM c WHERE cname='DB');
5.CREATE USER 'backupdb'@'localhost' IDENTIFIED BY 'backup';
既有数据库mysqltest下:
1. 既有Customer表:(customerNumber int primary key, creditlimit int NOT NULL, customerLevel CHAR(20) DEFAULT '' ),其中customerNumber为客户编号,creditlimit统计了某个用户目前的信贷限额。请创建一个触发器,在插入新的客户统计时,能够依照用户的的信贷限额设置其customerLevel;详细规如下:若目前信贷限额不小于50000,则用户评级为 "1st Level";若目前信贷限额不小于等于10000且小于等于50000,则用户评级为"2nd Level";若目前信贷限额小于10000,则用户评级为 "3rd Level"。
注意:在考生文献夹中的sj21.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩,最后运行测试。
2. 假设有商品表(product)和商品类别表(category):product:{pid,pname,cid,price}(字段阐明:商品编号,商品名,类别编号,价格)category:{cid,cname }(字段阐明:类别编号,类别名称)
请创建一个存储过程priceIncrementByCat,依照指定的类别名称(长度20的字符型)、以及价格浮动百分比(Double型),对该类别中所有的商品进行价格调整(要求在存储过程中,只能使用一条UPDATE语句,不能使用其他对product和category表进行操作的SQL语句)。假如成功进行了有关修改,使用ROW_COUNT()
函数打印出经价格修改的商品数目;否则,打印犯错误信息。可参考如下所示方式打印出执行成果:
+---------------------------------------------------------------+
| Result |
+--------------------------------------------------------------+
| 类别:"食品"中,有3件商品价格已被更新! |
+--------------------------------------------------------------+
或者:
+--------------------------------------------------------+
| Result |
+-------------------------------------------------------+
| 类别名称不存在、或者该类别中无商品! |
+-------------------------------------------------------+
注意:在考生文献夹中的sj22.txt文献已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文献名保存在考生文献夹下,否则没有成绩,最后运行测试。
1)【参考答案】
DELIMITER $$
CREATE TRIGGER custLevel BEFORE INSERT ON customer FOR EACH ROW
BEGIN
DECLARE creditlim INT;
SET creditlim=new.creditlimit;
IF creditlim > 50000 THEN
SET NEW.customerLevel = '1st Level ';
ELSEIF(creditlim <= 50000 &&creditlim >= 10000) THEN
SET NEW.customerLevel = '2nd Level ';
ELSEIF creditlim < 10000 THEN
SET NEW.customerLevel = '3rd Level';
END IF ;
END $$
2)【参考答案】
DELIMITER $$
CREATE PROCEDURE priceIncrementByCat(IN p_catname CHAR(20), IN p_increment DECIMAL(10,2))
BEGIN
UPDATE product p,category c SET p.price=p.price*(1+p_increment)
WHERE p.cid=c.cid AND ame=p_catname;
IF(ROW_COUNT()=0) THEN
SELECT '类别名称不存在、或者该类别中无商品!' AS Result;
ELSE
SELECT ('类别:"',p_catname,'"中,有', ROW_COUNT(),'件商品价格已被更新!') AS Result;
END IF;
END $$
DELIMITER ;
mysqltest数据库中有学生表(student)、系别表(dept):
student:{sid,sname,score,deptno}(字段阐明:学号,姓名,成绩,系别编号)
dept:{deptno,deptname }(字段阐明:系别编号,系名称)编写一个sj3.php页面,如下图所示:
展开阅读全文