当前位置:首页 » 编程软件 » shell脚本动态拼写sql

shell脚本动态拼写sql

发布时间: 2023-03-31 09:30:51

A. 在shell脚本中如何将sql指令写入到数据库

-h 是远程连接访问mysql 127.0.0.1 是本机ip
写入shell可以这样 :

mysql -u你的用户名 -p密码 <<END
mysql命令.....
exit;
END
/home/zyxf/BinaryConverter/BinaryConverter -af -h127.0.0.1 -uroot -w123456 -d${db}
不清楚是什么 看表面意思像是将数据库转换成二进制保存的意思。 -af 这些应该是BinaryConverter 这个命令的参数你可以尝试man BinaryConverter来查看他。

B. 执行SHELL脚本,传入参数,参数应该被里边的sql所用,请问怎么写

变量在sh中用$1,$2,$3... 顺序表示传入的参数。
sql写法:
select dept_id,dept_name from department
where dept_id=$1

C. linux shell执行sql

1.shell中执行sql
export ORACLE_SID=ORCL
sqlplus -S /nolog @/home/oracle/test.sql #注意此处执行sql脚本的方法 -S 表示以静默方式执行
exit
2.test.sql中要加入连接
conn scott/tiger@orcl
set time on
.......
exit;

D. shell脚本里执行多个sql语句问题

你没有理解输入重定向的概念。在你上面的代码中,mysql -uDDAP -p$2是包含在输入重定向范围内的,所以不会提示你输入密码的。
你的$1 和$2也没有定义,可以参考如下写法:
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcereAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF

E. 达梦数据库怎么写shell脚本,怎么通过shell脚本调用sql脚本

通过shell脚本调用sql脚本:
1、shell脚本调用sql脚本
#首先编辑sql文件
oracle@SZDB:~> more dept.sql
connect scott/tiger
spool /tmp/dept.lst
set linesize 100 pagesize 80
select * from dept;
spool off;
exit;

#编辑shell脚本文件,在shell脚本内调用sql脚本
oracle@SZDB:~> more get_dept.sh
#!/bin/bash

# set environment variable

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export ORACLE_SID=CNMMBO
sqlplus -S /nolog @/users/oracle/dept.sql #注意此处执行sql脚本的方法 -S 表示以静默方式执行
exit

#授予脚本执行权限
oracle@SZDB:~> chmod 775 get_dept.sh

-->执行shell脚本
oracle@SZDB:~> ./get_dept.sh

DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

2、shell脚本调用rman脚本
#首先编辑RMAN脚本
oracle@SZDB:~> more rman.rcv
RUN {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/users/oracle/bak/%d_%F';
ALLOCATE CHANNEL CH1 TYPE DISK MAXPIECESIZE=4G;
ALLOCATE CHANNEL CH2 TYPE DISK MAXPIECESIZE=4G;
SET LIMIT CHANNEL CH1 READRATE=10240;
SET LIMIT CHANNEL CH1 KBYTES=4096000;
SET LIMIT CHANNEL CH2 READRATE=10240;
SET LIMIT CHANNEL CH2 KBYTES=4096000;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
BACKUP
DATABASE FORMAT '/users/oracle/bak/%d_FULL__%U';
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP ARCHIVELOG ALL FORMAT '/users/oracle/bak/%d_LF_%U' DELETE INPUT;
DELETE NOPROMPT OBSOLETE;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}

#编辑shell脚本文件,在shell脚本内调用rman脚本
oracle@SZDB:~> more rman_bak.sh
#!/bin/bash

# set environment variable

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export ORACLE_SID=CNMMBO
$ORACLE_HOME/bin/rman target / cmdfile=/users/oracle/rman.rcv log=/users/oracle/bak/rman.log
exit

#授予脚本执行权限
oracle@SZDB:~> chmod 775 rman_bak.sh
#执行shell脚本

F. shell脚本中怎么写sql语句

mysql -uroot -pxxx dbname -e "select xxx from xxx;"

热点内容
动态密码什么 发布:2024-11-01 14:40:47 浏览:855
java二值化 发布:2024-11-01 14:39:14 浏览:322
安卓文明重启哪里下载 发布:2024-11-01 14:39:11 浏览:66
php获取ip服务器 发布:2024-11-01 14:38:13 浏览:442
万科海上传奇二期 发布:2024-11-01 14:22:52 浏览:59
u盘文件夹是空的 发布:2024-11-01 14:19:57 浏览:402
python包含字符串 发布:2024-11-01 14:19:17 浏览:479
c语言的精华 发布:2024-11-01 14:19:02 浏览:588
steam截图文件夹 发布:2024-11-01 14:18:59 浏览:613
ipad怎么往安卓传照片 发布:2024-11-01 14:18:19 浏览:508