当前位置: 首页 > news >正文

建站教程pdf怎么做网站例如京东

建站教程pdf,怎么做网站例如京东,江苏越润建设有限公司网站,南京户外广告公司排行榜目录 1. 题目1.1 游标1.2 触发器 2. 解答2.1 游标2.2 触发器 1. 题目 1.1 游标 创建存储过程#xff0c;利用游标依次显示某部门的所有员工的实际收入。(分别用使用 计数器 来循环和使用 标志变量 来控制循环两种方法实现) 创建存储过程#xff0c;将某部门的员工工资按工作… 目录 1. 题目1.1 游标1.2 触发器 2. 解答2.1 游标2.2 触发器 1. 题目 1.1 游标 创建存储过程利用游标依次显示某部门的所有员工的实际收入。(分别用使用 计数器 来循环和使用 标志变量 来控制循环两种方法实现) 创建存储过程将某部门的员工工资按工作年限进行调整工作年限3,提高 %53工作年限5提高 %10工作年限5提高 %15。 1.2 触发器 创建触发器当在 employees 表中插入一个员工信息时如果员工的部门编号department 表中没有则取消插入操作。 创建触发器当在 employees 表中删除一条记录时在 salary 表中删掉该员工的记录。 创建触发器当在 employees 表中修改员工编号时在 salary 表中同时修改员工编号。 2. 解答 2.1 游标 创建存储过程利用游标依次显示某部门的所有员工的实际收入。(分别用使用 计数器 来循环和使用 标志变量 来控制循环两种方法实现) 方法一使用计数器来循环 drop PROCEDURE if EXISTS p1; delimiter $ create PROCEDURE p1(in dname char(20)) begindeclare employee_id char(6);declare employee_name char(10);declare employee_salary float;declare salary_count int; # 统计记录数declare i int default 1;# 设置游标declare c_salary CURSOR forselect employees.EmployeeID, employees.Name, salary.Income - salary.Outcome as 实际收入from employees join departments on employees.DepartmentID departments.DepartmentIDjoin salary on employees.EmployeeID salary.EmployeeIDwhere departments.DepartmentName dname;select count(*) into salary_countfrom (select employees.EmployeeID, employees.Name, salary.Income - salary.Outcome as 实际收入from employees join departments on employees.DepartmentID departments.DepartmentIDjoin salary on employees.EmployeeID salary.EmployeeIDwhere departments.DepartmentName dname)a;open c_salary; # 打开游标while i salary_count doFETCH c_salary into employee_id, employee_name, employee_salary; # 读取游标select employee_id, employee_name, employee_salary; # 使用游标set i i 1;end while;close c_salary; # 关闭游标end $ delimiter ;call p1(广告部);方法二使用控制循环 drop PROCEDURE if EXISTS p1; delimiter $ create PROCEDURE p1(in dname char(20)) begindeclare employee_id char(6);declare employee_name char(10);declare employee_salary float;declare f int default 1;# 设置游标declare c_salary CURSOR forselect employees.EmployeeID, employees.Name, salary.Income - salary.Outcome as 实际收入from employees join departments on employees.DepartmentID departments.DepartmentIDjoin salary on employees.EmployeeID salary.EmployeeIDwhere departments.DepartmentName dname;# 错误处理declare exit handler for not foundset f 0;open c_salary; # 打开游标while f 1 doFETCH c_salary into employee_id, employee_name, employee_salary; # 读取游标select employee_id, employee_name, employee_salary; # 使用游标end while;close c_salary; # 关闭游标end $ delimiter ;call p1(广告部);创建存储过程将某部门的员工工资按工作年限进行调整工作年限3,提高 %53工作年限5提高 %10工作年限5提高 %15。 drop PROCEDURE if EXISTS p2; delimiter $ create PROCEDURE p2(in dname char(20)) begindeclare employee_id char(6);declare employee_WorkYear TINYINT;declare add_income float;declare f int default 1;# 设置游标declare c_salary CURSOR forselect employees.EmployeeID, employees.WorkYearfrom employees join departments on employees.DepartmentID departments.DepartmentIDjoin salary on employees.EmployeeID salary.EmployeeIDwhere departments.DepartmentName dname;# 错误处理declare exit handler for not foundset f 0;open c_salary; # 打开游标while f 1 doFETCH c_salary into employee_id, employee_WorkYear; # 读取游标if employee_WorkYear 3 then set add_income 0.05;elseif employee_WorkYear 5 thenset add_income 0.1;elseset add_income 0.15;end if;update salaryset Income Income Income * add_incomewhere salary.EmployeeID employee_id;end while;close c_salary; # 关闭游标end $ delimiter ;call p2(广告部);再次调用存储过程 p1 查看广告部员工实际收入从而验证存储过程 p2 是否正确。 注因为在存储过程 p2 提高的是 收入而不是 实际收入即支出是不变的。所以 p2 的结果不是简单的通过 p1 的结果乘上相应提升率 比如 伍容华 的支出是 88.03那么存储过程 p2 的结果是这么来的 ( 1494.59 88.03 ) ∗ ( 1 0.1 ) 1740.882 (1494.5988.03) * (10.1) 1740.882 (1494.5988.03)∗(10.1)1740.882 1740.88 − 88.03 1652.85 1740.88 - 88.03 1652.85 1740.88−88.031652.85 2.2 触发器 创建触发器当在 employees 表中插入一个员工信息时如果员工的部门编号department 表中没有则取消插入操作。 drop trigger if EXISTS tri_insertinfo; delimiter $ create TRIGGER tri_insertinfo before insert on employees for each row begindeclare a int;select count(*) into afrom departmentswhere departments.DepartmentID new.DepartmentID;if a 0 then SIGNAL SQLSTATE 12345 set message_text 部门不存在;end if;end$ delimiter ;select * from employees;select * from departments;insert into employees values(999996, 小邓在森林, 本科, 2022-02-17, 1, 5, 武汉大学, 00000000, 6);insert into employees values(999995, 小邓在森林, 本科, 2022-02-17, 1, 5, 武汉大学, 00000000, 10);select * from employees;创建触发器当在 employees 表中删除一条记录时在 salary 表中删掉该员工的记录。 drop trigger if EXISTS tri_deleteinfo; delimiter $ create TRIGGER tri_deleteinfo after delete on employees for each row begindelete from salarywhere EmployeeIDold.EmployeeID;end$ delimiter ;delete from employees where EmployeeID 999996; select * from employees; select * from salary;注因为没有在表 salary 中插入 小邓在森林 的数据我们再来试一下删除 伍容华 的数据。 delete from employees where EmployeeID 010008; select * from employees; select * from salary;可以看见 伍容华 的数据已经被删除。 创建触发器当在 employees 表中修改员工编号时在 salary 表中同时修改员工编号。 drop trigger if EXISTS tri_updateinfo; delimiter $ create TRIGGER tri_updateinfo after update on employees for each row beginupdate salaryset EmployeeID new.EmployeeIDwhere EmployeeID old.EmployeeID; end$ delimiter ;我们修改 王林 的编号将 000001 修改为 999999原数据是 select * from employees; select * from salary;修改后结果 update employeesset EmployeeID 999999where employees.EmployeeID 000001;select * from employees; select * from salary;上一篇文章【数据库——MySQL】15存储过程、存储函数和事务处理习题及讲解
http://www.hkea.cn/news/14289386/

相关文章:

  • 爱站seo工具在线制作图片生成器小程序
  • 成都建站模板公司网站建设卖点
  • 彩妆网站建设策划书网站建设主要问题及建议
  • 昆明网站设计制作公司网址建站
  • 如何做网站静态页面企业文化建设方案案例
  • 家政月嫂网站源码html5商城网站
  • 成都网站建设选择到访率企业宣传类网站建设
  • 建设一个视频网站需要什么站酷app
  • 昆明网站建设时间课程资源网站的建设
  • 狐表做网站西宁最好的网络公司
  • 河北建设网站信息查询中心网络服务商怎么找
  • 网站开发语言那个好黄骅港天气预报
  • 怎么做旅游网站自己做网站接入微信和支付宝
  • 无锡滨湖住房与城乡建设局网站阿里云服务器搭建网站
  • 网站色彩的应用免费网站建设必择山东绘政科技
  • 推广策划案怎么写北京百度seo服务
  • 谷歌有做网站建设中山 家居 骏域网站建设专家
  • 郑州港区建设投资公司网站做健身网站
  • 做网站需要的信息网站建设管理和运行维护制度
  • jsp mysql 网站开发wordpress hls
  • 广西北海市住房和建设厅网站tripod wordpress
  • 临湘市建设局网站网站怎么做定位功能
  • Php做网站创业母婴用品网站建设
  • 房产网站怎么做异地楼盘nginx wordpress 多站点
  • 咸宁网站设计如何拥有自己的域名
  • 保定建设网站科技广告公司网站模板
  • 昌邑微信网站建设公司设计公司网站多少钱
  • 电脑做网站服务器教程做外贸网站 用国外空间 还是 国内空间 区别
  • 商城型网站建设多少钱注册公司费用计入什么科目
  • 广州手机网站建设哪家好软件外包合同模板