`
zixiaolan
  • 浏览: 51359 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ORACLE数据库中如何调试Type

 
阅读更多
一般碰到ORACLE有需要调试存储过程参数中有是TYPE、LIST集合的时候,一般调试起来都比较麻烦。

现在用一种比较简单的方式展现下


TYPE代码

--子TYPE
CREATE OR REPLACE TYPE RSS_STR_OBJECT_TYPE IS OBJECT
(
   str_value varchar2(200)
);
grant Execute on rssdata.RSS_STR_OBJECT_TYPE to rssopr;
grant execute on rssdata.RSS_STR_OBJECT_TYPE to r_rssdata_Exec;


--父TYPE代码
CREATE OR REPLACE TYPE RSS_STR_OBJECT_TYPE_LIST IS TABLE OF rssdata.RSS_STR_OBJECT_TYPE

grant Execute on rssdata.rss_str_object_type_list to rssopr;
grant execute on rssdata.rss_str_object_type_list to r_rssdata_Exec;


2.简单的存储过程
  PROCEDURE rss_test_type_list_pro(in_rss_str_object_type_list IN rss_str_object_type_list,
                                   out_retcode                 OUT Varchar2,
                                   out_message                 OUT Varchar2) IS
  
    i NUMBER;
  begin
      --修改对计数器赋值应该放到LOOP外面
     i := in_rss_str_object_type_list.first;
    LOOP
    
     
    
      INSERT INTO TEST
        (D)
      VALUES
        (in_rss_str_object_type_list(i).str_value);
    
      EXIT WHEN i = in_rss_str_object_type_list.last;
      i := in_rss_str_object_type_list.next(i);
    END LOOP;
  
  EXCEPTION
    WHEN OTHERS THEN
      out_retcode := '9';
      out_message := '[rss_test_type_list_pro]错误信息' || SQLCODE || ',' ||
                     SUBSTR(SQLERRM, 1, 120);
  END rss_test_type_list_pro;


3. 调试的时候的存储过程匿名块书写

declare
  -- 首先初始化这个需要测试的对象  创建一个对象 
  in_rss_str_object_type_list rss_str_object_type_list:= rss_str_object_type_list();
  -- 再对其中需要测试的一个集合变量m1赋值
   in_rss_str_object_type_m1 rss_str_object_type := rss_str_object_type('深圳常兴支行');
begin
  -- 调用存储过程的时候开始
  in_rss_str_object_type_list.extend();
  --将成员m1赋值给集合的最后一个元素
  in_rss_str_object_type_list(in_rss_str_object_type_list.last) := in_rss_str_object_type_m1;
  
  rss_test.rss_test_type_list_pro(in_rss_str_object_type_list => in_rss_str_object_type_list,
                                  out_retcode => :out_retcode,
                                  out_message => :out_message);
end;
分享到:
评论

相关推荐

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    Oracle数据库驱动包

    4. JDBC Type 4(Thin Driver):Oracle JDBC驱动中的ojdbc6.jar和ojdbc6_g.jar属于这一类,它们是纯Java实现,直接与Oracle数据库通信,性能最佳且无需安装额外软件。 使用这些驱动时,开发人员需要在Java代码中...

    skyline与oracle数据库坐标关联之oracle数据库操作说明

    数据库操作是指在Skyline与Oracle数据库坐标关联中执行的一系列操作,以确保坐标数据的正确性和一致性。在本文中,我们将详细介绍Skyline与Oracle数据库坐标关联的操作说明。 一、创建表字段 在Skyline与Oracle...

    Oracle数据库sqlplus常用命令

    Oracle数据库sqlplus是Oracle数据库管理系统中的一种命令行工具,用于执行SQL语句、查看数据库状态、执行数据库管理任务等。以下是Oracle数据库sqlplus常用命令的知识点总结: 获取数据库信息 1. 获取数据库名和...

    Oracle数据库笔记大全

    在实际操作中,Oracle数据库的管理和开发涉及大量细节和技巧,如性能优化、备份恢复、安全设置等。理解这些基本概念和操作是成为Oracle数据库管理员或开发人员的基础。通过不断学习和实践,可以更好地掌握Oracle...

    logstash5.6.1向es导入oracle数据库数据

    本资源主要聚焦于如何利用Logstash 5.6.1将Oracle数据库中的数据高效地导入到Elasticsearch中。这个过程涉及到以下关键知识点: 1. **Logstash配置**:首先,你需要配置Logstash的`input`、`filter`和`output`三个...

    Oracle数据库中业务数据文本导出.pdf

    在Oracle数据库中,有时我们需要将业务数据导出为文本格式,这通常涉及到使用UTL_FILE包,这是一个内置的PL/SQL包,允许在数据库级别进行文件操作,如读取和写入文件。 UTL_FILE_DIR参数是一个关键的初始化参数,它...

    ORACLE数据库自动备份3种方法

    ### ORACLE数据库自动备份3种方法详解 #### 一、概述 在企业级应用中,数据库的安全性至关重要,定期进行数据库备份是确保数据安全的重要措施之一。对于Oracle数据库而言,实现自动化的数据库备份不仅可以提高效率...

    批量导出ORACLE数据库BLOB字段生成文件

    本教程将详细讲解如何批量导出Oracle数据库中的BLOB字段并生成文件,适用于需要定期或一次性处理大量图片或其他BLOB数据的场景。 首先,确保你已经在本地安装了Oracle客户端。Oracle客户端提供了SQL*Plus和其他工具...

    Oracle数据库导出文本的方法

    Oracle 数据库导出文本的方法是 Oracle 数据库的入门级应用,旨在介绍如何将 Oracle 数据库中的数据导出到文本文件中。在实际应用中,我们经常需要将查询结果导出到文本文件中,以便于后续处理或分析。下面我们将...

    Oracle数据库中索引的维护

    Oracle数据库中的索引维护是数据库管理员日常工作中至关重要的一部分,尤其是在大型企业级应用中,高效的索引管理能够显著提升查询性能和数据库的整体效率。本文主要关注Oracle8i版本中的B-tree索引维护。 首先,...

    向Oracle数据库插入Clob大段文本解决方法

    在处理Oracle数据库中的大文本数据时,CLOB(Character Large Object)类型被广泛应用于存储大量字符数据,如文章、报告或任何大型文本信息。本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作...

    oracle 数据库备份 实例代码

    Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,其数据安全性及稳定性备受赞誉。数据库备份是确保数据安全的重要环节,防止数据丢失或损坏时能够快速恢复。本篇将详细介绍Oracle数据库备份的基本概念...

    c#登陆界面与Oracle数据库连接并增删改查

    首先,我们需要创建一个 Oracle 数据库连接,用于与数据库进行交互。我们可以使用 OracleClient 命名空间中的 OracleConnection 类来创建连接对象。下面是一个简单的示例代码: ```csharp string connString = ...

    oracle数据库驱动

    在Java环境中,Oracle数据库驱动提供了必要的功能接口,使得应用程序能够连接到Oracle数据库,执行SQL命令,并获取结果。 Oracle数据库驱动主要有四种类型: 1. **Type 1( Thin Driver)**:这是一种纯Java实现的...

    NBU对Oracle数据库的本地/异机备份及恢复操作

    在NBU管理控制台中,你需要配置一个针对Oracle数据库的备份策略,包括选择备份类型(如全量、增量或差异备份),设定备份时间,以及定义备份保留规则。NBU的Oracle插件能够理解Oracle的数据文件结构,确保备份的完整...

    oracle数据库开发规范.pdf

    接下来我将详细解释文档中涉及的Oracle数据库相关知识点。 首先,文档中提到了一些关键的Oracle数据库对象,包括: 1. 表(table): 是存储数据的数据库对象,如文档中的“test_tri_tab1”和“test_tri_tab2”。 ...

    利用Java程序实现Oracle数据库中大对象的存取.pdf

    程序执行功能的简单说明:在客户端的浏览器界面上输入一个客户端的文件名(本文以pdf类型文件为例),将该文件的全部内容做为一个大对象的数据存储在服务器端的Oracle数据库中。任何一个客户端都可以通过浏览器再次...

    oracle数据库链接

    在Oracle数据库管理中,数据库链接(Database Link)是一项关键功能,它允许用户在一个数据库实例上执行操作时,能够访问另一个远程数据库中的数据。这在分布式数据库环境中尤其重要,因为可以促进不同数据库之间的...

Global site tag (gtag.js) - Google Analytics