ITPub博客

首页 > 数据库 > Oracle > [20220927]如何实现sqlcl的repeat功能.txt

[20220927]如何实现sqlcl的repeat功能.txt

原创 Oracle 作者:lfree 时间:2022-10-10 09:23:48 0 删除 编辑

[20220927]如何实现sqlcl的repeat功能.txt

--//晚上看了sqlcl的一些介绍,里面提到repeat功能.可以利用它执行前面执行的语句.支持2个参数.重复次数间隔时间.
--//例子:(注我没有测试环境,无法执行)
select sysdate from dual;
--//执行5次间隔1秒
repeat 5 1

--//感觉很有意思,思考一下sqlplus能否实现.最先想到的外部命令watch.

$ watch -n 1  sqlplus -s -l scott/book <<<'select sysdate from dual;'
--//这样不行,不支持<<<模式.
$ cat aa3.txt
select sysdate from dual;
quit

Every 1.0s: sqlplus -s -l scott/book @aa3.txt                                                                                                                                                                                                          Mon Oct 10 08:59:58 2022

SYSDATE
-------------------
2022-10-10 08:59:58

--//缺点就是每次都要调用sqlplus.而且只能ctrl+c中断执行.

--//简单写一个测试脚本如下:

$ cat repeat.sql
host seq &&1 | xargs -IQ echo -e  "/\nhost sleep &&2" >| repeat.tmp
@@ repeat.tmp

--//使用spool 不支持host的执行结果到文件的模式.测试如下:

SCOTT@book> select sysdate from dual;
SYSDATE
-------------------
2022-10-10 09:19:31

SCOTT@book> @ repeat.sql 3 2

SYSDATE
-------------------
2022-10-10 09:19:35


SYSDATE
-------------------
2022-10-10 09:19:37


SYSDATE
-------------------
2022-10-10 09:19:39



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2917487/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7970379