[英]Oracle : Create table in another schema and grant select and insert on it from the same schema
我有兩種模式。
1.架構A
2,方案B
我需要做以下。
現在,我想從架構A進行所有操作。 我編寫了一個程序包,當在A中執行該程序包時,將在B中創建所有表,然后在A中為其創建同義詞。 然后只需從其自己的表中選擇數據並插入B的表中即可。
非常重要:現在,這整個過程必須一次性完成。 只需執行一個begin塊就可以完成整個工作。
問題:但是現在同義詞將不起作用,因為模式A在B中創建的表上沒有任何特權。
那么有沒有一種方法可以創建表(從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.