【问题标题】:Calling MySQL Stored Procedure in Shell Script在 Shell 脚本中调用 MySQL 存储过程
【发布时间】:2017-07-25 02:17:01
【问题描述】:

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

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

当我尝试提供如下的 shell 脚本时

CALL Employee_config ('ClientId','Data') 我们得到 CALL: command not found

EXECUTE Employee_config ('ClientId','Data') 我们得到 EXECUTE: command not found

如果有人能更新一下如何从 shell 脚本调用 MySQL 存储过程,那就太好了

【问题讨论】:

    标签: mysql shell stored-procedures


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      你可以试试下面的方法...

      #!/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 一样执行脚本

      【讨论】:

        猜你喜欢
        • 2012-04-02
        • 2015-04-23
        • 1970-01-01
        • 2012-06-15
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多