首页 > 软件开发 > MYSQL >

当sql语句满足不了时,你怎么做

来源:互联网 2023-03-16 22:57:55 448

当sql语句满足不了需求时,可以使用存储过程lin办公区 - 实用经验教程分享!

当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

工具/原料

  • MySQL
  • Navicat

方法/步骤

  • 1

    存储过程使您有机会完成 SQL 提供的简单创建、读取、更新和删除功能以外的操作。你有能力做更多的程序步骤。lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 2

    这样的一个例子是建立一个程序, 向一年以上没有加薪的雇员发放加薪。下图显示了如何在 MySQL 中实现这一点:lin办公区 - 实用经验教程分享!

    CREATE PROCEDURE annual_salary_raise(lin办公区 - 实用经验教程分享!

    IN percent INT,lin办公区 - 实用经验教程分享!

    OUT total_updated INTlin办公区 - 实用经验教程分享!

    )lin办公区 - 实用经验教程分享!

    BEGINlin办公区 - 实用经验教程分享!

    SELECT COUNT(*)lin办公区 - 实用经验教程分享!

    INTO total_updatedlin办公区 - 实用经验教程分享!

    FROM salarieslin办公区 - 实用经验教程分享!

    WHERE last_update_date > DATE_SUB(CURDATE(),INTERVAL 1 YEAR);lin办公区 - 实用经验教程分享!

    lin办公区 - 实用经验教程分享!

    UPDATE salaries SET annual_salary = annual_salary * ((100 percent)/100),last_update_date = CURDATE()lin办公区 - 实用经验教程分享!

    WHERE last_update_date > DATE_SUB(CURDATE(),INTERVAL 1 YEAR);lin办公区 - 实用经验教程分享!

    ;lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 3

    该存储过程采用两个参数: IN 参数, 它是工资增长百分比的值;和 OUT 参数, 您可以将其视为存储过程中的返回值。您在此处传递句柄, 该存储过程将设置其值, 并且可以在运行该句柄后从该句柄中读取。在这种情况下, OUT 参数保存更新的行数。您可以根据需要拥有任意数量的 IN 和 OUT 参数。lin办公区 - 实用经验教程分享!

  • 4

    SELECT 语句还采用了一个新的窗体, 将 COUNT 的结果应用到total _ updated的 OUT 参数中。如果 SELECT 语句返回零行或多行, 则查询将失败。lin办公区 - 实用经验教程分享!

  • 4该信息非法爬取自百度经验
  • 5

    该过程将百分比增加应用于未更新一年以上的行。MySQL 为操作 DATE 数据类型提供了 DATE _ SUB 函数-在本例中, 该函数从 CURDATE (即今天的日期) 计算一年前的日期。更新语句还将更新日期设置为CURDATE, 以便更新后的行在另一年内不会更新。lin办公区 - 实用经验教程分享!

  • 6

    下图显示了 Navicat控制台上的这一过程, 并应用了4% 的加薪。lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 7

    查询工资表:lin办公区 - 实用经验教程分享!

    SELECT * FROM salaries;lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 8

    调用存储过程:lin办公区 - 实用经验教程分享!

    CALL annual_salary_raise(4,@updated_count);lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 9

    查看工资表变化:lin办公区 - 实用经验教程分享!

    SELECT * FROM salaries;lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 10

    存储过程对于 "批处理" 一系列以某些定制方式影响数据的语句非常有用, 如此处所示的过程。另一个用途是在触发器中。当某些数据库事件发生 (如删除或更新行) 时, 可以配置要在该操作之前、之后或之后而不是该操作之前运行的过程。lin办公区 - 实用经验教程分享!

    当sql语句满足不了时,你怎么做?lin办公区 - 实用经验教程分享!

  • 11

    触发器的一个实际用途是记录数据库事件。每当更新敏感表 (如员工工资等财务记录) 时, 您都可以设置一个运行过程, 将更新前后的数据插入辅助审核表中, 该表可以在以后检查是否存在任何差异.lin办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!lin办公区 - 实用经验教程分享!


    标签: SQLMYSQL

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码