我有两个架构 .
1.Schema A
2.Schema B
我需要做以下事情 .
-
我想在架构 B 中创建一些表(与 A 中的一些表相同)
-
然后将数据从 A 移动到 B .
现在我想从schema A 做所有这些 . 我编写了一个包,在 A 中执行时将创建 B 中的所有表,然后在 A 中为它们创建同义词 . 然后只需从自己的表中选择数据并插入 B's 表 .
VERY IMP : 现在这一切都必须一气呵成 . 只需执行一个开始块就可以完成整个工作 .
Problem : 但是现在这些同义词不起作用,因为Schema A 在 B 中创建的表上没有任何priv .
那么有没有办法创建表(从A到B)与创建时给出的所有权限?或者可以在执行时在PL-SQL中切换模式,以便可以从B到A授予priv? (我确信这不可能做到,但他们说什么都不可能!:O:P所以问)
请帮帮我们!欢迎所有建议!
The Main objective of this job is to do it in one go and from only one schema.
1 回答
您可以定义将在定义者权限下运行的过程,而不是调用者权限
您将在模式B中定义此类过程,该过程执行作业并从模式A调用它 .