Oracle:在另一个模式中创建表并从同一模式授予选择并插入它
问题描述:
我有两个模式。Oracle:在另一个模式中创建表并从同一模式授予选择并插入它
1.Schema 一个
2.Schema 乙
我需要做以下。
- 我想要(在相同的一些表阿)创建模式乙一些表
- 然后从移动数据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.叫它
谢谢Olivier!似乎这可以完成这项工作 – BobadKanda 2012-02-06 13:14:06