想要在shell脚本中执行MYSQL存储过程
示例:Employee_config('ClientId','Data')是我的sql中的过程名称
当我尝试按下面的方式提供shell脚本时
调用Employee_config('ClientId','Data')我们收到CALL:找不到命令
执行Employee_config('ClientId','Data')我们得到EXECUTE:找不到命令
如果有人可以对如何从shell脚本调用MySQL存储过程进行更新,那就太棒了
答案 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
的脚本