1

エラー:

ORA-06550: line1, column 22: PLS-00103 Encountered the symbol "end-of-file" when expecting one of the following: * & = - + .......

PL/SQL ブロック:

DECLARE v_c number :=0;
   BEGIN
      SELECT COUNT(*) into v_c from all_sequences where sequence_name='TEST_SEQ' and   sequence_owner='test';
      IF v_c = 1 THEN
         execute immediate 'DROP SEQUENCE test.TEST_SEQ';
      END IF;
   END;
/
4

2 に答える 2

4

PL/SQL ブロック全体ではなく、最初の行のみを実行しています。

DECLARE v_c number :=0
/

その結果:

DECLARE v_c number :=0
                 *
ERROR at line 1:
ORA-06550: line 1, column 22:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem

他の人が示唆しているように、これを SQLPlus で試してください。

于 2012-06-19T01:11:42.147 に答える
4

あなたの投稿からコードをコピーし、SQLDeveloper と SQLPlus の両方で問題なく実行しました。

接続先: Oracle Database 11g リリース 11.2.0.3.0 - 本番

prompt> DECLARE v_c number :=0;                        
  2     BEGIN
  3        SELECT COUNT(*) into v_c from all_sequences where sequence_name='TEST_SEQ' and sequence_owner='test';
  4        IF v_c = 1 THEN
  5           execute immediate 'DROP SEQUENCE test.TEST_SEQ';
  6        END IF;
  7     END;
  8  /

PL/SQL procedure successfully completed.

どのツールを使用していますか? 私の最善の提案は、SQLPlus で試してみることです。それでもエラーが発生する場合は、セッションの全文を見せてください。

于 2012-06-18T20:41:28.010 に答える