将某个用户下面的所有表的查询权限赋给另外一用户

参考网址:http://hi.baidu.com/lichangzai/blog/item/ccf30bec6bb451d52e2e2131.html

 PROCEDURE GRANT_SQL
   AS
      THE_C1      NUMBER;/*©w¸q¥ú¼Ð*/
      THE_RESULT  NUMBER;
      V_TABLE     VARCHAR2(80);
      V_SQL       VARCHAR2(400);
   BEGIN
      /*1.為處理打開光標*/
      THE_C1 :=DBMS_SQL.OPEN_CURSOR;
      /*2.分析語句*/
      DBMS_SQL.PARSE(THE_C1,'SELECT TABLE_NAME FROM USER_TABLES',DBMS_SQL.NATIVE);
      /*3.定義相關字段*/
      DBMS_SQL.DEFINE_COLUMN(THE_C1,1,V_TABLE,80);
      /*4.執行語句*/
      THE_RESULT := DBMS_SQL.EXECUTE(THE_C1);
     LOOP
       IF DBMS_SQL.FETCH_ROWS(THE_C1) > 0 THEN
          /*取出字段值*/
          DBMS_SQL.COLUMN_VALUE(THE_C1,1,V_TABLE);           
          /*組成動態SQL語句*/
          V_SQL := 'GRANT SELECT ON '||V_TABLE||' TO NEW_USER';
          /*執行SQL語句*/
          EXECUTE IMMEDIATE V_SQL;        
       ELSE
         GOTO EEND;
       END IF;
     END LOOP;
     <<EEND>>
     /*關閉游標*/
     DBMS_SQL.CLOSE_CURSOR(THE_C1);
  END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值