在Shell脚本中调用MySQL存储过程

时间:2017-07-25 02:17:01

标签: mysql shell stored-procedures

想要在shell脚本中执行MYSQL存储过程

示例:Employee_config('ClientId','Data')是我的sql中的过程名称

当我尝试按下面的方式提供shell脚本时

调用Employee_config('ClientId','Data')我们收到CALL:找不到命令

执行Employee_config('ClientId','Data')我们得到EXECUTE:找不到命令

如果有人可以对如何从shell脚本调用MySQL存储过程进行更新,那就太棒了

2 个答案:

答案 0 :(得分:1)

您可以尝试使用mysql命令调用它:

mysql -u root –ppassword -e 'call test_procedure();' Databasename

您可以使用> out.txt关注该输出以将输出捕获到文件中。

答案 1 :(得分:1)

您可以尝试以下方式......

#!/usr/bin/bash
#Script to run automated sql queries
#Declaring mysql DB connection 

MASTER_DB_USER='root'
MASTER_DB_PASSWD='root'
MASTER_DB_PORT='3160'
MASTER_DB_HOST='192.168.0.0'
MASTER_DB_NAME='MyDB'


startDate='2018-03-09'
endDate='2018-03-09'

#Prepare sql query
SQL_Query1='select * from mytable limit 1'
SQL_Query2='call carServicedQry'
SQL_Query3='call carServicedQry2("2018-03-09","2018-03-09")'



#mysql command to connect to database

MYSQL -u$MASTER_DB_USER -p$MASTER_DB_PASSWD  -D$MASTER_DB_NAME <<EOF 
$SQL_Query2   
EOF
echo "End of script"

并执行类似./myscript.sh

的脚本