Oracle:在另一个模式中创建表并从同一模式授予选择并插入它

问题描述:

我有两个模式。Oracle:在另一个模式中创建表并从同一模式授予选择并插入它

1.Schema 一个

2.Schema

我需要做以下。

  1. 我想要(在相同的一些表阿)创建模式一些表
  2. 然后从移动数据A

现在我想从架构一个做了这一切。我写这当执行的将在创建所有的表,然后在一个为他们创建的同义词包。然后只需从其自己的表中选择数据并插入B的表。

非常IMP:现在,这整个事情必须一次发生。只需执行一个开始块应该完成整个工作。

问题:但现在的同义词是行不通的,因为架构一个没有关于它创建表的任何PRIVS。

那么有创建表(从A到B)与创建时给出的所有特权的方法吗? 或者可以在执行时将模式切换到PL-SQL中,以便priv可以从B授予A? (我确信这不能做,但他们说没有什么是不可能的!:O:P so asked)

请帮帮我!欢迎所有建议!

这项工作的主要目的是一次性完成,并从一个模式。

您可以定义的,而不是调用者的权利将下定义者权限运行程序,

CREATE OR REPLACE PROCEDURE definer_test AUTHID DEFINER IS 
BEGIN 
    ... 
END definer_test; 

你会定义架构B这样的程序,它做这项工作,并从架构A.叫它

+0

谢谢Olivier!似乎这可以完成这项工作 – BobadKanda 2012-02-06 13:14:06