sqlplus执行mysql_shell 中利用sqlplus 执行sql脚本的简便方式

有时候必须在shell中执行sql脚本,下面列举shell 中利用sqlplus 执行sql脚本的简便方式

$ cat sql/test.sql

SET      pagesize 0

SET      heading OFF

SET      feedback OFF

SET verify OFF

select &1 from &2;

QUIT;

sqlplus / as sysdba @sql/test.sql sysdate dual

注意:参数必须用&[1-9]表示,不然搜索传不进去,会提示让手动输入参数

如果脚本中有重复用到相同的值,如果&1=&2:

$cat sql/tes2.sql

SET      pagesize 0

SET      heading OFF

SET      feedback OFF

SET verify OFF

delete scott.emp where empno=&1  or deptno=&2;

commit;

QUIT;

执行时,就必须传2个参数:

sqlplus "scott/tiger@test" @sql/tes2.sql 10 10

小窍门: 用procedure就可以不用传多个相同的参数,则只用传1个参数:

$ cat sql/test3.sql

declare

var_no number:=&1;

begin

delete scott.emp where no=var_no or deptno=var_no;

commit;

end;

sqlplus "scott/tiger@test" @sql/test3.sql 10

shell 执行MySQL命令

mysql -uxxxx -pxxxx  --batch -e 'show full processlist' -S /mysql/rpl_semi/dbdata/mysql.sock | grep -iv Sleep

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值