海量编程文章、技术教程与实战案例

网站首页 > 技术文章 正文

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

yimeika 2025-07-12 06:48:37 技术文章 15 ℃

#!/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

最近发表
标签列表