5

次のような PL/SQL プロシージャを呼び出しています。

execute util.verify(src_schema => '&username',
                    stab       => '&tab_name');

そして、私はこれらのエラーを受け取ります:

SQL> execute util.verify(src_schema => '&username',
BEGIN util.verify(src_schema => 'u1',; END;

                                     *
ERROR at line 1:
ORA-06550: line 1, column 57: 
PLS-00103: Encountered the symbol ";" when expecting one of the following:
( - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
continue avg count current exists max min prior sql stddev
sum variance execute forall merge time timestamp interval
date <a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternatively


SQL>                   stab       => '&tab_name',
SP2-0734: unknown command beginning "stab      ..." - rest of line ignored.

で通話を中断することはできないよう,です。この呼び出しを複数行で記述するにはどうすればよいですか?

4

3 に答える 3

12

SQLPlusでは、次の行に続く行の終わりにダッシュを配置します。

execute util.verify(src_schema => '&username', -
                    stab       => '&tab_name');

更新:ドキュメントへのリンクを追加

EXECUTE、SQL*Plus®ユーザーズガイドおよびリファレンス

于 2010-12-25T10:11:17.943 に答える
8

以下のような別の方法があります。

begin
    util.verify(src_schema => '&username',
                    stab       => '&tab_name');
end;
/
于 2010-12-25T07:56:27.683 に答える
5

execute xxxx;(またはexec xxxx;)は書くためのショートカットですbegin xxxx; end;

1つのライナーでのみ機能します。したがって、複数の行がある場合は、とを明示的に使用する必要がありbeginますend

于 2010-12-25T09:35:55.380 に答える