【问题标题】:passing parameter in Mysql Stored proc within unix script在Unix脚本中的Mysql存储过程中传递参数
【发布时间】:2021-10-28 16:48:18
【问题描述】:

我需要在mysql存储过程(RDS aurora)中传递一个参数。我从 unix 脚本调用存储过程。不知何故,它不工作。请问哪里出错了? 下面的unix脚本。这是调用存储的过程但不传递参数。 echo $DATE 显示“2021-09-25”,这是预期值。

     echo $DATE
 $MYSQL_CMD -e " use $MY_DATABASE; call $PROC_NAME($DATE); show warnings;"

--

 DELIMITER $$

USE `mydb`$$

DROP PROCEDURE IF EXISTS `my_proc`$$

CREATE PROCEDURE `my_proc`(IN update_date VARCHAR(10))
BEGIN

DECLARE var_update_date VARCHAR(10);

SELECT NOW() AS 'start Time';

SELECT update_date;
--
end

mysql 存储过程的输出

start Time
2021-10-28 09:29:59
update_date
1987

【问题讨论】:

    标签: mysql amazon-web-services unix unix-timestamp amazon-aurora


    【解决方案1】:

    您需要在$DATE 周围加上引号。

    $MYSQL_CMD -e " use $MY_DATABASE; call $PROC_NAME('$DATE'); show warnings;"
    

    【讨论】:

    • 谢谢你,这很好用。
    猜你喜欢
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多