zoukankan      html  css  js  c++  java
  • 一个存储过程和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  存储过程名(参数); 

  • 相关阅读:
    一条查询SQl是怎样执行的
    MySQL45讲笔记-事务隔离级别,为什么你改了数据我看不见
    了解一下IO控制器与控制方式
    进程的同步与互斥
    预防死锁,检测死锁,避免死锁,解除死锁....
    初识Git
    剑指offer-查找数组中重复的数字
    常见的几种进程调度算法
    操作系统-进程的状态以及转换
    中断、异常、系统调用
  • 原文地址:https://www.cnblogs.com/xianqingzh/p/2113219.html
Copyright © 2011-2022 走看看