我想为我的每个例程创建特定的.sql文件。
#!/bin/bash
routine_names=$(mysql mydb --execute="SELECT
*
FROM
information_schema.routines
WHERE
routine_type = 'PROCEDURE' OR routine_type ='FUNCTION'
AND routine_schema = 'mydb';"|cut -f1)
for routine in "$routine_names"
do
if [ -e "${routine}.sql" ]
then
echo "ok"
else
content_procedure=$(mysql mydb--execute="SHOW CREATE PROCEDURE $routine;")
echo "$content_procedure" >> masoud.txt
fi
done 我的routine_names变量是我的过程列表。就像这样:
SP_ONE
SP_TWO
SP_THREE我想循环这些结果。但我认为结果不是一个数组。因为routine变量包含所有内容。
发布于 2020-02-17 08:11:25
用mysql mydb ...命令包装()命令
routine_names=($(mysql mydb --execute="SELECT
*
FROM
information_schema.routines
WHERE
routine_type = 'PROCEDURE' OR routine_type ='FUNCTION'
AND routine_schema = 'mydb';"|cut -f1))我很好奇,从这里那里得到了这个想法。
https://stackoverflow.com/questions/60257939
复制相似问题