gpt4 book ai didi

mysql - 如何在shell脚本中插入mysql存储过程的结果

转载 作者:行者123 更新时间:2023-11-30 21:49:40 25 4
gpt4 key购买 nike

我是 shell 脚本的新手,我想调用 MySQL 存储过程并将存储过程的结果存储在一个变量中,并将该变量传递给插入查询以将值存储在另一个数据类型为 JSON 的表中。

Shell 脚本文件:

selectvar="CALL lead_status_sale(input1,input2,@total,@valid,@data);"

selectvar1="select @total,@valid,@data;"

mysql --user=root --password=xxx db1 << eof
$selectvar
insertvar = $selectvar1
eof

mysql --user=root --password=xxx db2 << eof
insert into day values $insertvar;
eof

如果我在进行插入查询时调用存储过程,它工作正常,我得到了错误

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@valid @qualified  @sales  @closedwon  @deal   @cold_lead  @business   @ga @ga_valid   @ga' at line 1

最佳答案

试试这个:如果您的 SELECT 返回超过 1 个字符串:

#!/bin/bash

selectvar="CALL lead_status_sale(input1,input2,@total,@valid,@data); select @total,@valid,@data;"
insertvar=(`mysql --user=root --password=xxx db1 --execute="${selectvar}" | sed '1d'`)
for i in "${insertvar[@]}"
do
mysql --user=root --password=xxx db2 --execute="insert into day values ${i};"
done

关于mysql - 如何在shell脚本中插入mysql存储过程的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47811014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com