顾乔芝士网

持续更新的前后端开发技术栈

shell脚本调用达梦数据库存储过程

#!/bin/bash

dm_path=/opt/DM8/bin # 达梦安装路径

user=userd # 数据库用户

password=pass@456 # 密码

ip=13.72.8.249:5236

name_no=99

#校验输入参数

if [ $# -ne 2 ]

then

echo "输入参数错误 示例 sh xxx.sh 存储过程名称 20500101"

exit 1

fi

name_no=$($dm_path/disql $user/\"$password\"@$ip -e "SELECT max(name_no) FROM name_number WHERE DATA_DT=to_date($2,'YYYY-MM-DD') AND name_TYPE='0';"| awk -F'|' '/^[0-9]+/{print $1}' | tr -d ' ')

echo "当前的批次号是$name_no"

#注意密码的转义符号

${dm_path}/disql ${user}/\"${password}\"@${ip} <<EOF

#连接数据库报错代码

whenever sqlerror exit sql.sqlcode;

set serveroutput on;

$1('$2','$name_no',1,1);

exit

EOF

if [ $? -eq 0 ]

then

echo "存储过程执行成功"

else

echo "存储过程执行失败"

exit 1

fi

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言