一個使用者執行另外一個使用者的過程查詢的是哪個使用者下的物件
A使用者的過程如下:
create or replace procedure ss
as
v_ename varchar(30);
begin
select ut.ename into v_ename from emp ut where rownum=1;
dbms_output.put_line(v_ename);
end;
在A使用者下執行此過程
SQL> set serveroutput on
SQL> exec ss;
SMITH
PL/SQL procedure successfully completed
用system新建一個測試使用者
SQL> create user j1_test identified by oracle;
User created
賦予此使用者執行儲存過程ss的許可權
SQL> grant execute on scott.ss to j1_test;
Grant succeeded
SQL> grant connect,resource to j1_test;
Grant succeeded
建立一個與scott使用者相同名稱的表
SQL> create table j1_test.emp as select * from scott.emp where 1=2;
Table created
SQL> insert into j1_test.emp select * from scott.emp where ename <>'SMITH';
13 rows inserted
SQL> commit;
Commit complete
過濾掉SMITH的資料
在測試使用者下執行儲存過程ss
SQL> exec scott.ss;
SMITH
PL/SQL procedure successfully completed
可以發現輸出結果仍然是smith,由此可見,對於不加schema的表,別的使用者都是在查詢儲存過程所屬物件的表
create or replace procedure ss
as
v_ename varchar(30);
begin
select ut.ename into v_ename from emp ut where rownum=1;
dbms_output.put_line(v_ename);
end;
在A使用者下執行此過程
SQL> set serveroutput on
SQL> exec ss;
SMITH
PL/SQL procedure successfully completed
用system新建一個測試使用者
SQL> create user j1_test identified by oracle;
User created
賦予此使用者執行儲存過程ss的許可權
SQL> grant execute on scott.ss to j1_test;
Grant succeeded
SQL> grant connect,resource to j1_test;
Grant succeeded
建立一個與scott使用者相同名稱的表
SQL> create table j1_test.emp as select * from scott.emp where 1=2;
Table created
SQL> insert into j1_test.emp select * from scott.emp where ename <>'SMITH';
13 rows inserted
SQL> commit;
Commit complete
過濾掉SMITH的資料
在測試使用者下執行儲存過程ss
SQL> exec scott.ss;
SMITH
PL/SQL procedure successfully completed
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-2087852/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 建一個使用者來備份另外一個使用者的資料
- 將一個使用者下所有表的查詢許可權賦給另一個使用者
- 分享一個查詢某個使用者過去一段時間內執行的SQL語句。SQL
- 把一個使用者的所有表的查詢許可權 賦給另一個使用者
- impdp在同一個資料庫中將一個使用者下的物件複製到另一個使用者下資料庫物件
- Oracle中將一個使用者的所有物件授權給另一個使用者Oracle物件
- 如何查詢一個儲存過程是否在執行儲存過程
- 刪除一個使用者下所有的物件物件
- 查詢每個使用者的許可權
- 如何殺掉一個使用者下的所有程式並drop掉這個使用者
- 遷移使用者物件從一個表空間到另外表空間物件
- 怎麼設計一個restful的url,表示:某個使用者評價另一個使用者REST
- Oracle報錯>記錄被另外一個使用者鎖定Oracle
- 【協程原理】 - 協程不過是使用者態的執行緒執行緒
- 關於一個使用者SQL慢查詢問題的分析及優化SQL優化
- 刪除一個使用者下的所有表指令碼指令碼
- 1個開發如何撐起一個過億使用者的小程式
- mysql基礎 依據一個欄位查詢另外一個欄位存在不同的值MySql
- 一個 java 檔案的執行過程詳解Java
- 一個簡單java程式的執行全過程Java
- Linux 下查詢埠號由哪個程式執行Linux
- Oracle使用者被鎖查哪個具體IP地址造成的Oracle
- oracle實用sql(12)--查詢資料是否在某個使用者下各個表的各個列OracleSQL
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- oracle 10.2.0.4執行一個樹查詢的問題Oracle
- 通過使用者選擇多個條件來進生相應的查詢
- 如何建立一個使用者、授權操作k8s叢集的過程?K8S
- oracle一個建立使用者、建立表空間、授權、建表的完整過程Oracle
- oracle10g exp可否用一個使用者匯出另一個使用者的某表呢?Oracle
- 建立一個日期 + 字元的使用者名稱字元
- sap入門--建立一個新的使用者
- 修改ORACLE使用者密碼的一個方法:Oracle密碼
- mysql中一條查詢語句的執行全過程是怎樣的?MySql
- MySQL SQL語句查詢執行過程的四個階段介紹MySql
- MariaDB伺服器查詢執行過程的三個階段概述伺服器
- 也是是另外一個開始
- 使用者召回體系:打造一個大而全的使用者召回矩陣矩陣
- 一個Flask應用執行過程剖析Flask