热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ORACLE数据库管理plsql编程

范例3,清理数据表代码段declaresql1varchar2(1000);beginfortable_namein(selectobject_namefromu
  1. 范例3,清理数据表代码段

declaresql1 varchar2(1000);
beginfor table_name in (select object_namefrom user_objectswhere created end;

  1. exception列举

 

--异常处理部分:当上面的条件都不满足时进入exception部分2种方式定义 when others then

+sql statements 或者 when no_data_found then +sql statements;

在游标中经常使用的退出循环语句为 exit when cursor%notfound;


  1. for循环、及decode用法

trh

--FOR循环隐试打开游标,注意此游标不是事先定义的游标,而是直接利用sql语句生成的,

其中ob此类似数组的类型不用声明,可直接使用ob.NAME,ob.status..................。

 

--使用此decode()函数对于中间两项的参数可以写多组,并与第一个参数进行判断,返回不同的值,都不满足则返回最后的参数值。


动态游标的使用

 

带boolean类型存储过程


--知识点总结:首先建立的boolean类型数据用于if条件的使用。使用方法 olaptok:=FALSE,olaptok:==TRUE, IFt条件的使用 if olaptok and olaptokl then sql statements esle sql statements end; 此例中注意if not(item_date=’201309’) 的使用。


  1. Execute immediate

create or replace procedure ora$_sys_rep_auth asbeginEXECUTE IMMEDIATE 'GRANT SELECT ON SYSTEM.repcat$_repschema TO SYS ' ||'WITH GRANT OPTION';EXECUTE IMMEDIATE 'GRANT SELECT ON SYSTEM.repcat$_repprop TO SYS ' ||'WITH GRANT OPTION';EXECUTE IMMEDIATE 'GRANT SELECT ON SYSTEM.def$_aqcall TO SYS ' ||'WITH GRANT OPTION';EXECUTE IMMEDIATE 'GRANT SELECT ON SYSTEM.def$_calldest TO SYS ' ||'WITH GRANT OPTION';EXECUTE IMMEDIATE 'GRANT SELECT ON SYSTEM.def$_error TO SYS ' ||'WITH GRANT OPTION';EXECUTE IMMEDIATE 'GRANT SELECT ON SYSTEM.def$_destination TO SYS ' ||'WITH GRANT OPTION';end;

范例代码2

CREATE OR REPLACE PROCEDURE INSERTPROJECT ISTYPE TYPECURSOR IS REF CURSOR;ROWCURSOR TYPECURSOR;TABLEROW visu_role%ROWTYPE;TABLEROW1 visu_reve_template.id%TYPE;TABLEROW2 visu_reve_templatecategory.id%TYPE;TABLEROW3 VISU_DATASET_DEFINE.Id%TYPE;TABLEROW4 VISU_SERVICE_DEFINE.Id%TYPE;TABLEROW5 visu_exportedpicture.templateid%TYPE;TABLEROW6 visu_importedpicture.templateid%TYPE;TABLEROW7 visu_remoteaddress.id%TYPE;PROJECTID VARCHAR2(50);
BEGIN
PROJECTID:='40fa3881-c21d-4d8d-8c70-b1aa788e9cfda';OPEN ROWCURSOR FORselect t.* from visu_role t where t.id not in (select distinct(t1.ROLEID) from visu_role_projects t1);LOOPFETCH ROWCURSORINTO TABLEROW;EXIT WHEN ROWCURSOR%NOTFOUND;EXECUTE IMMEDIATE 'insert into visu_role_projects values(:1,:2)'using TABLEROW.id,PROJECTID;END LOOP;IF ROWCURSOR%ISOPEN THENCLOSE ROWCURSOR;END IF;OPEN ROWCURSOR FORselect t.id from visu_reve_template t where t.id not in (select distinct(t1.revetemplateid) from visu_project_reve t1);LOOPFETCH ROWCURSORINTO TABLEROW1;EXIT WHEN ROWCURSOR%NOTFOUND;EXECUTE IMMEDIATE 'insert into visu_project_reve values(:1,:2)'using TABLEROW1,PROJECTID;END LOOP;IF ROWCURSOR%ISOPEN THENCLOSE ROWCURSOR;END IF;

 


推荐阅读
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • Oracle 10g 和 11g 32位 OCI.DLL 文件下载
    32位 PL/SQL Developer 访问 64位 Oracle 11g 数据库时,需要使用 32位的 OCI.DLL 文件以确保正常连接和数据访问。本文将详细介绍如何获取并配置此文件。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
author-avatar
孤l叶_991
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有