您的位置:首页 > 其它

初学JQ,关于 事件 笔记(四)

2011-03-31 08:53 218 查看
1)Auth ID about DDL language in Dynamic SQL

1@@@@with AUTHID CURRENT_USER option

HR@ocm> !cat tmp.sql

CREATE OR REPLACE PROCEDURE exec_DDL

( ddl_string IN VARCHAR2 )

AUTHID CURRENT_USER

IS

BEGIN

EXECUTE IMMEDIATE ddl_string; --Who is the table belong to

--sh create a table using this procedure,

--check who is that table belong to !!!

END;

/

HR@ocm> @tmp.sql

Procedure created.

HR@ocm> GRANT execute ON exec_DDL TO sh;

Grant succeeded.

@@@login by sh, check

SH@ocm> EXEC hr.exec_DDL('CREATE TABLE who_am_I_belong_to(a int)');

PL/SQL procedure successfully completed.

SH@ocm> set lines 60

SH@ocm> desc who_am_I_belong_to

Name Null? Type

----------------------------- -------- --------------------

A NUMBER(38)

HR@ocm> desc who_am_I_belong_to

ERROR:

ORA-04043: object who_am_I_belong_to does not exist

@@@Summary:

obviously, who is calling the procedure, the object is belong to who use the DDL to create it

When you use AUTHID CURRENT_USER before IS keyword.

this option is that running the code in this plsql object by the current user.

No matter who the plsql is belong to.

2@@@@without AUTHID CURRENT_USER option

HR@ocm> !cat tmp.sql

CREATE OR REPLACE PROCEDURE exec_DDL

( ddl_string IN VARCHAR2 )

IS

BEGIN

EXECUTE IMMEDIATE ddl_string; --Who is the table belong to

--sh create a table using this procedure,

--check who is that table belong to !!!

END;

/

HR@ocm> @tmp.sql

Procedure created.

HR@ocm> GRANT execute ON exec_DDL TO sh;

Grant succeeded.

@@@login by sh, check

SH@ocm> EXEC hr.exec_DDL('CREATE TABLE who_am_I_belong_to(a int)');

BEGIN hr.exec_DDL('CREATE TABLE who_am_I_belong_to(a int)'); END;

*

ERROR at line 1:

ORA-01031: insufficient privileges

ORA-06512: at "HR.EXEC_DDL", line 5

ORA-06512: at line 1

@@@Summary

without AUTHID CURRENT_USER option, you could not use it.

Note: default option is AUTHID DEFINER, here it is

本文出自 “Oracle+Linux=>Majesty” 博客,请务必保留此出处http://majesty.blog.51cto.com/3493901/1099536
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐