`
dannyhz
  • 浏览: 398575 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

oracle plsql 游标的使用

阅读更多

set serveroutput on;
DECLARE

str_tab_name               VARCHAR2(100);
str_tab_owner               VARCHAR2(20);
  num_contain_QT_loc        number;
  str_exec_grant  varchar2(200);
  
   cursor cur is
         SELECT distinct(tb_pri.table_name) as TB_NAME, tb_pri.owner as TB_OWNER FROM dba_tab_privs tb_pri inner join 
                  (select owner, table_name from dba_tables where owner in ('BUAT_META','BUAT_AUDIT','BUAT_MAINT','BUAT_METRICS','BUAT_TRANS')) tb_info 
                    on tb_pri.table_name = tb_info.table_name and tb_pri.owner = tb_info.owner;
         
BEGIN

  open cur;
   loop
     fetch cur into str_tab_name,str_tab_owner;
     exit when cur%notfound;
     
      select length(str_tab_name) - INSTR(str_tab_name, '_QT') into num_contain_QT_loc from dual;
      if num_contain_QT_loc > 2 then
        str_exec_grant := 'GRANT DELETE,INSERT,SELECT,UPDATE ON '|| str_tab_owner ||'.'||str_tab_name||' TO GCE1_DMM_UPDATE_ROLE';
         dbms_output.put_line('str_tab_name :'||str_tab_name || ', str_tab_owner : ' || str_tab_owner || ' , grant 4.' );
         
      else  
        str_exec_grant := 'GRANT SELECT ON '|| str_tab_owner ||'.'||str_tab_name||' TO R2_DMM_READONLY_ROLE';
         dbms_output.put_line('str_tab_name :'||str_tab_name || ', str_tab_owner : ' || str_tab_owner  || ' , grant select.');
      end if;
      dbms_output.put_line('sql :' || str_exec_grant);
      execute immediate str_exec_grant;
     
      
   end loop;
   
   close cur;
   
 exception
   when others
   then
     if cur%isopen
     then 
       close cur;
     end if;
 
END;
/


分享到:
评论

相关推荐

    Oracle PLSQL游标的学习

    本资源主要讲解了 Oracle PL/SQL 游标的概念、分类、属性和使用方法,为读者提供了详细的学习资料。 一、游标的概念 游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据...

    Oracle_PLSQL游标的学习

    Oracle PL/SQL 游标的学习 游标是 Oracle PL/SQL 中的一个重要概念,它允许用户访问和操作结果集中的数据。游标可以理解为是一个映射在结果集中的一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一...

    plsql游标、集合简单使用

    oracle数据库里plsql游标、集合及对象的简单使用,适合初学者查看

    PLSQL游标编程培训内含实例

    通过PLSQL游标编程,我们可以实现更灵活的数据处理,比如循环处理结果集、条件判断等。在实际开发中,游标尤其适用于那些需要逐行处理大量数据的情况,例如批量更新或删除。 在"PLSQL培训内容"这个压缩包中,可能...

    《Oracle PLSQL 从入门到精通》.zip

    Oracle PLSQL,全称为“Procedural Language/Structured Query Language”,是Oracle数据库系统中的一个强大编程语言,它结合了SQL的查询能力与过程性编程语言的功能。本资料《Oracle PLSQL 从入门到精通》旨在帮助...

    plsql基础(游标)

    本文详细介绍了PL/SQL中游标的使用方法,包括游标的声明、打开、读取、关闭以及如何在不同的循环结构中使用游标。通过示例演示了如何利用游标处理查询结果,并结合条件判断和异常处理来增强程序的健壮性和灵活性。...

    plsql 游标 英文讲义

    每当我们执行一条不与显式声明的游标相关的SQL语句时,Oracle服务器会隐式地打开一个游标,用于处理该语句并存储过程信息。 与隐式游标相对的是显式游标。显式游标需要程序员显式声明并进行管理。在PL/SQL中,当...

    Oracle数据库实验-PLSQL游标、过程、函数、包的使用[文].pdf

    在本次实验中,我们将重点探讨PL/SQL中的游标、过程、函数和包的使用,这些都是数据库开发中不可或缺的部分。 首先,让我们了解PL/SQL中的游标。游标是一种在结果集中定位并移动的机制,它允许我们逐行处理查询结果...

    Oracle PLSQL详解 宝典

    《Oracle PLSQL详解 宝典》是一本专为IT专业人士准备的深度学习Oracle数据库中的PL/SQL编程语言的指南。本书旨在帮助读者深入理解PL/SQL的各个方面,从而能够熟练地利用这一强大的工具来解决实际工作中遇到的问题。...

    oracle PLSQL

    通过深入理解和熟练使用Oracle PL/SQL及PL/SQL Developer,数据库管理员和开发人员能够构建健壮、高效的应用系统,实现对Oracle数据库的高效管理和维护。掌握这些知识将极大地提高你在IT领域的专业能力,尤其是在...

    Oracle PLSQL编程,第4版

    Oracle PLSQL编程是数据库开发领域中的重要组成部分,尤其在企业级应用系统中广泛使用。第四版的《Oracle PLSQL编程》旨在深入解析Oracle数据库的PL/SQL编程语言,帮助开发者提升技能,掌握高效、稳定和安全的数据库...

    Oracle PLSQL 从入门到精通

    Oracle PLSQL,全称为Oracle Procedural Language/Structured Query Language,是Oracle数据库系统中的一个编程组件,用于扩展SQL的功能,实现更复杂的业务逻辑。它结合了SQL的查询能力与过程式编程语言的特点,使得...

    ORACLE PLSQL实例精解(第4版) 中文版

    - **使用方法**:声明游标、打开游标、提取数据、关闭游标。 - **隐式游标**:由PL/SQL自动管理的游标。 #### 三、PL/SQL应用案例 **3.1 数据库性能优化** - **索引使用**:如何合理地使用索引来提高查询效率。 - ...

    Oracle PLSQL Programming 6th Edition

    通过阅读《Oracle PLSQL Programming 6th Edition》,无论是初学者还是经验丰富的开发者,都能从中受益,提升对PL/SQL的理解和使用能力,从而更好地利用Oracle数据库进行复杂应用的开发。对于希望深入学习和精通PL/...

    Oracle PLSQL语言初级教程之游标

    通过理解这些基本概念,开发者可以有效地使用PL/SQL游标处理复杂的数据库查询,控制程序流程,并确保对Oracle数据库的操作准确无误。在实际开发中,熟练掌握游标的应用对于编写高效、健壮的数据库应用程序至关重要。

    Oracle PLSQL程序设计

    - **支持SQL**:在PL/SQL中可以直接使用数据操纵命令、事务控制命令、游标控制、SQL函数和运算符等。 - **面向对象编程**:支持面向对象编程(OOP),提高了代码的复用性和可维护性。 - **跨平台兼容性**:可以在任何...

    oracle plsql

    Oracle PL/SQL是一种在Oracle数据库环境中使用的结构化查询语言(SQL)的扩展,它结合了SQL的查询功能和过程式编程语言的控制结构。在Oracle PL/SQL中,你可以编写存储过程、函数、触发器、游标等,以实现复杂的业务...

    Oracle PLSQL语言初级教程

    PL/SQL代码使用ASCII文本编辑器编写,适应性强,可以在任何Oracle支持的操作系统上使用。与SQL不同,PL/SQL以块的形式发送到服务器,减少了网络通信的负担,提高了效率。 PL/SQL的结构分为声明、执行和异常处理三个...

    oracle游标使用大全3

    ### Oracle游标使用详解 #### 一、Oracle游标简介 在Oracle数据库中,游标是一种用于处理查询结果集的强大工具。它允许用户通过循环结构逐行读取数据,并进行相应的处理。游标分为显式游标和隐式游标两种类型。 -...

Global site tag (gtag.js) - Google Analytics