2017-08-01 14 views
-2

Oracleは、表の再定義を実行するときに次のエラーを表示します。

このコードは、他のテーブルの他の再定義で正常に機能しました。Oracleエラー:ORA-06550:12行目、4列

SQL> BEGIN 
     2 
     3 -- ************************************************************** 
     4 -- Start the Redefinition Process 
     5 -- ************************************************************** 
     6 BEGIN 
     7 DBMS_REDEFINITION.start_redef_table(
     8 uname  => 'User', 
     9 orig_table => 'SAN_RELAC_PERSONA', 
    10 int_table  => 'NEW_SAN_RELAC_PERSONA', 
    11 options_flag => DBMS_REDEFINITION.CONS_USE_ROWID); 
    12 END; 
    13/
END; 
    * 
ERROR at line 12: 
ORA-06550: line 12, column 4: 
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the 
following: 
(begin case declare end exception exit for goto if loop mod 
null pragma raise return select update while with 
<an identifier> <a double-quoted delimited-identifier> 
<a bind variable> << continue close current delete fetch lock 
insert open rollback savepoint set sql execute commit forall 
merge pipe purge 
+1

なぜBEGINは2回ありますか? – user7294900

答えて

0

あなたがBEGINを失う他に他の人が示唆されているように、第2 ENDを追加したりすることができますいずれかBEGIN BEGINなくEND; END;

を持っています。

begin 
    dbms_redefinition.start_redef_table 
    (uname  => 'User' 
    , orig_table => 'SAN_RELAC_PERSONA' 
    , int_table => 'NEW_SAN_RELAC_PERSONA' 
    , options_flag => dbms_redefinition.cons_use_rowid); 
end; 
/
0

削除ライン13 /

BEGIN 

    -- ************************************************************** 
    -- Start the Redefinition Process 
    -- ************************************************************** 
    BEGIN 
    DBMS_REDEFINITION.start_redef_table(
    uname  => 'User', 
    orig_table => 'SAN_RELAC_PERSONA', 
    int_table  => 'NEW_SAN_RELAC_PERSONA', 
    options_flag => DBMS_REDEFINITION.CONS_USE_ROWID); 
    END; 
END; 
0

あなたのスラッシュ(/)記号が間違った場所にある - それは、スクリプトを終了する必要があるので、あなたは最後のENDキーワードの後に​​それを置く必要があります。私はそれが助けて欲しい

BEGIN 
     -- ************************************************************** 
     -- Start the Redefinition Process 
     -- ************************************************************** 
     BEGIN 
     DBMS_REDEFINITION.start_redef_table(
     uname  => 'User', 
     orig_table => 'SAN_RELAC_PERSONA', 
     int_table  => 'NEW_SAN_RELAC_PERSONA', 
     options_flag => DBMS_REDEFINITION.CONS_USE_ROWID); 
     END; 
END; 
/
+0

私はOPがコマンドをインタラクティブに入力したと思います。最後の 'END;はエラーメッセージの一部です。すなわち、コンパイラは12行目でエラーを報告しています。 –

+0

ええ、悪いです。あまりにも多くの 'BEGIN'があります。 –

関連する問題