将链接到sqlplus的多个动作更改为bash脚本中的for循环

我有这个脚本,效率很低:

#!/bin/sh
for i in $(seq 1 10);
do
  echo "CREATE TABLE testbenny_$i (id NUMber NOT NULL);
  ! sleep 10
  select * from testbenny_$i;
  ! sleep 10
  select * from testbenny_$i;
  ! sleep 10
  select * from testbenny_$i;
  ! sleep 10
  select * from testbenny_$i;
  ! sleep 10
  DROP TABLE testbenny_$i;" | sqlplus system/passwd &
done

我有一个重复的动作,我试图将其包含在一个FOR循环中,但是没有。

  select * from testbenny_$i;
  ! sleep 10

我找不到将其更改为FOR的正确语法。在Oracle 12上工作。

jiajiadelan 回答:将链接到sqlplus的多个动作更改为bash脚本中的for循环

尝试使用oracle sleep方法,如下所示:

#!/bin/sh
for i in $(seq 1 10);
do
  echo "CREATE TABLE testbenny_$i (id NUMBER NOT NULL);
  sys.DBMS_SESSION.sleep(10);
  Begin
  For var in 1..4 loop
  select * from testbenny_$i;
  sys.DBMS_SESSION.sleep(10)
  End loop;
  End;
  /
  DROP TABLE testbenny_$i;" | sqlplus system/passwd &
done

我仅举了一个如何使用sys.DBMS_SESSION.sleep(10)方法的示例。根据您的要求在代码中使用它。

本文链接:https://www.f2er.com/3073266.html

大家都在问