ORACLE SQL:暂停执行直到用户输入

rvp*_*als 1 sql oracle plsql pause

我有一个像这样的Oracle SQL脚本:

  • 显示表中的某些值
  • 我想在这里暂停,直到我可以查看上一步表中的值,然后按一个按钮继续执行.如果值对我来说很好,我想在那里打破SQL脚本.
  • 执行一些清理,因为值看起来不好,需要修复.

在Oracle SQL中有类似的东西吗?有点像在批处理文件中暂停,你必须打空间继续运行,但我可以取消它

Ale*_*sej 6

在SQLPlus中,您可以构建一个接受某个值的脚本,然后根据输入数据决定要删除的内容.

例如,一个脚本如:

d:\ x.sql:

set verify off;
select 'some data' from dual;
/* prompt a message and ask for a value to store in a variable */
accept choice prompt 'Update data (Y/N)?'; 
begin
    if '&choice' = 'Y' then             /* check the variable value */
        dbms_output.put_line('Update data');
    else
        dbms_output.put_line('Exit');
    end if;
end ;
/
Run Code Online (Sandbox Code Playgroud)

会做:

SQL> sta d:\x

'SOMEDATA
---------
some data
Update data (Y/N)?Y
Update data
SQL> sta d:\x

'SOMEDATA
---------
some data
Update data (Y/N)?N
Exit
Run Code Online (Sandbox Code Playgroud)