一个存储过程和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  存储过程名(参数); 

你可能感兴趣的:(mysql)