摘要: 1:Sql代码 以DDL语句为参数。   createprocedureanyddl(s1varchar2)as   cursor1integer;   begin   cursor1:=dbms_sql.open_cursor;   dbms_sql.parse(cursor1,s1,dbms_sql.v7);   dbms_sql.close_cursor(cursor1);   end;   /   SQL>executeanyddl('CREATETABLEMYTABLE(COL1NUMBER)');   PL/SQLproceduresuccessfullycompleted. 阅读全文
posted @ 2011-02-17 23:12 马侃 阅读(725) 评论(0) 推荐(0)
摘要: 我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式授权,如grant create table to usera;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。下面来举个例子: SQL> select * from v$version;BANNER----------------------------------------------------------------Orac 阅读全文
posted @ 2011-02-17 22:25 马侃 阅读(12970) 评论(0) 推荐(0)