此代码适用于其他表中的其他重新定义。
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
答案 0 :(得分: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;
答案 1 :(得分: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;
/
答案 2 :(得分:0)
您有BEGIN BEGIN
但不是END; END;
您可以像其他人建议的那样添加第二个END
,否则会丢失BEGIN
。
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;
/