• 一个存储过程和shell操作mysql


    1.存储过程名字.sql

    use test;
    DROP PROCEDURE IF EXISTS deleteconfigifdelcamera;
    delimiter //
    CREATE PROCEDURE deleteconfigifdelcamera(IN cameraid INTEGER)
                BEGIN
                declare camera_ID INTEGER;
                select id into camera_ID from camera where id = cameraid;
                IF (camera_ID > 0)
                    THEN
                        DELETE vehicleinfo, vehicletype, vehiclelicense, bodycolor from vehicleinfo
                            left join vehicletype on vehicletype.id = vehicleinfo.vehicletype_id
                                 join vehiclelicense on vehiclelicense.id=vehicleinfo.vehiclelicense_id
                                 join bodycolor on bodycolor.id=vehicleinfo.bodycolor_id
                            where vehicleinfo.id < record_ID;
                        DELETE from BaseConfig  where BaseConfig.cameraid = camera_ID;
                        DELETE from BrightControlConfig where BrightControlConfig.cameraid = camera_ID;
                        DELETE from LaneInfo where LaneInfo.cameraid = camera_ID;
                        DELETE from LightAndLaneRelation where LightAndLaneRelation.LaneId in (select MIN(LaneId) from LaneInfo where LaneInfo.
    cameraid = camera_ID);
                        DELETE from OSDConfig where OSDConfig.cameraid = cameraid;
                        DELETE from SigLightConfig where SigLightConfig.camearid = camera_ID;
                        DELETE from VPalgorithmConfig where VPalgorithmConfig = camera_ID;
                        DELETE from SerialConfig where ;
                        
                END IF;
                END
    ;
    //

    delimiter ; 

    2.shell脚本名字.sh

    #!/bin/bash
    mysql --user=root < SQL_tables.sql
    mysql --user=root < insertbodycolor.sql
    mysql --user=root < insertvehiclelicense.sql
    mysql --user=root < insertvehicletype.sql
    mysql --user=root < deletehistoryrecord.sql
    mysql --user=root < insertuploadqueue.sql
    mysql --user=root < inserthistoryrecord.sql
    mysql --user=root < inserttrafficdata.sql


    其中SQL_TABLE.sql的开头是

    drop database if exists test;
    create database test default character set utf8;
    connect test;

    DROP TABLE if exists vehicletype; 

    如何测试存储过程:

    call  存储过程名(参数); 

  • 相关阅读:
    使用Xtrabackup 备份mysql数据库
    Myeclipse总结
    intellij idea问题及技巧
    Tomcat相关配置
    Spark常用算子总结
    前端开发经验
    最近用到的SQL语句
    subline text使用心得
    天龙八部谁是主角?(MR词频统计)
    elasticsearch CURL命令
  • 原文地址:https://www.cnblogs.com/xianqingzh/p/2113219.html
Copyright © 2020-2023  润新知