簡體   English   中英

Oracle:在另一個模式中創建表並授予選擇並在同一模式中插入該表

[英]Oracle : Create table in another schema and grant select and insert on it from the same schema

我有兩種模式。

1.架構A

2,方案B

我需要做以下。

  1. 我想在模式B中創建一些表(與A中的某些表相同)
  2. 然后將數據從A移到B。

現在,我想從架構A進行所有操作。 我編寫了一個程序包,當在A中執行該程序包時,將在B中創建所有表,然后在A中為其創建同義詞。 然后只需從其自己的表中選擇數據並插入B的表中即可。

非常重要:現在,這整個過程必須一次性完成。 只需執行一個begin塊就可以完成整個工作。

問題:但是現在同義詞將不起作用,因為模式AB中創建的表上沒有任何特權。

那么有沒有一種方法可以創建表(從A到B),並在創建時給出所有特權呢? 還是可以在執行時在PL-SQL中切換模式,以便可以將特權從B授予A? (我確定這是不可能完成的,但是他們說!:O:P這么問就沒有什么是不可能的)

請幫助我! 歡迎所有建議!

這項工作的主要目標是一次完成並僅從一種模式進行。

您可以定義將在定義者權限(而不是調用者權限)下運行的過程

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

您將在模式B中定義這樣的過程,該過程將完成工作並從模式A調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM