关于plsql:对Oracle闪回表启用约束

Enable constraint on Oracle flashback table

我在 Toad 中运行了一个数据复制功能,该功能禁用了所有约束,然后失败了。

这给我留下了一堆禁用的约束。他们中的大多数我已经能够成功启用,但是闪回的那些让我的存储过程适合。

问题:

1) 是否有必要重新启用闪回表上的约束?我的假设是,如果未启用它们并使用闪回,则在恢复表时它们将被禁用,所以是的,它们应该重新启用。

2) 我得到的错误是 ORA-01735: Invalid alter table option.

1
2
3
EXECUTE IMMEDIATE
'ALTER TABLE'||' '||l_table_name||' '||'ENABLE CONSTRAINT'||'
'
||l_Constraint_name;

我的假设是表名中的 ==$0 引起了问题,我需要用双引号将其括起来。但是,我这样做的尝试:

1
2
3
EXECUTE IMMEDIATE
'ALTER TABLE'||'""'||l_table_name||'"" '||'ENABLE CONSTRAINT'||'
'
||l_Constraint_name;

也失败了。什么是正确的语法?还是我在错误的实际是什么错误的树上吠叫?


怎么样:

1
2
3
EXECUTE IMMEDIATE
'ALTER TABLE'||'""'||l_table_name||'"" '||'ENABLE CONSTRAINT'||'
"'
||l_Constraint_name||'"';