`

oracle 表类型 表变量 例子

阅读更多
-- Create the types to support the table function.
DROP TYPE t_tf_tab;
DROP TYPE t_tf_row;

CREATE TYPE t_tf_row AS OBJECT (
  EMPNO    NUMBER(4),
  ENAME    VARCHAR2(10),
  JOB      VARCHAR2(9),
  MGR      NUMBER(4),
  HIREDATE DATE,
  SAL      NUMBER(7,2),
  COMM     NUMBER(7,2),
  DEPTNO   NUMBER(2)
);
/

CREATE TYPE t_tf_tab IS TABLE OF t_tf_row;
/

-- Build the table function itself.
create or replace function get_tab_tf return t_tf_tab as
  l_tab t_tf_tab := t_tf_tab();
begin
  /*FOR i IN 1 .. p_rows LOOP
    l_tab.extend;
    l_tab(l_tab.last) := t_tf_row(i, i, i, i, sysdate, i, i, i);
  END LOOP;*/
  for c_emp in (select * from scott.emp) loop
    l_tab.extend;
    l_tab(l_tab.last) := t_tf_row(c_emp.empno,
                                  c_emp.ename,
                                  c_emp.job,
                                  c_emp.mgr,
                                  c_emp.hiredate,
                                  c_emp.sal,
                                  c_emp.comm,
                                  c_emp.deptno);
  end loop;

  return l_tab;
end;
/


-- Test it.
SELECT *
FROM   TABLE(get_tab_tf())
ORDER BY EMPNO DESC;
分享到:
评论

相关推荐

    Oracle表类型表变量使用

    本文将深入探讨Oracle表类型表变量的使用,以及如何通过提供的SQL脚本进行实践操作。 首先,让我们了解什么是Oracle表类型。表类型是一种自定义的数据类型,它可以像普通数据库表一样存储数据,但存在于PL/SQL环境...

    在Java中实现Oracle变量的绑定方法 .doc

    在Java中实现Oracle变量的绑定方法,主要是为了优化SQL语句的执行效率,减少数据库解析负担,提升系统性能。Oracle数据库在处理SQL语句时,会先进行解析,然后将解析后的SQL语句存储在共享池(Shared Pool)中。如果...

    oracle 自定义数据结构和表类型实验

    这个PersonType可以用于定义表中的列,或者作为PL/SQL程序中的变量类型。这样,你就有了一个结构化的数据单元,可以更方便地处理复杂的业务数据。 接下来,我们讨论表类型,这在Oracle中被称为集合类型。它们允许你...

    Java中Oracle操作绑定变量使用用户工具模块解决方案

    ### Java中Oracle操作绑定变量使用用户工具模块解决方案 #### 一、背景介绍 在Java开发过程中,特别是与Oracle数据库交互的应用场景中,SQL语句的编写及执行效率一直是开发者关注的重点之一。为了提高SQL语句的...

    oracle学习例子

    在“Oracle学习例子”中,你可能会遇到各种实际场景下的应用,例如创建表、插入数据、更新数据、删除数据以及进行复杂的查询操作。通过对orcFile中的实例进行学习和实践,你可以逐步熟悉并掌握Oracle数据库和PL/SQL...

    php 连oracle 的小例子

    安装完成后,我们需要配置环境变量,确保PHP能够找到Oracle客户端的库。在php.ini文件中,添加或修改以下行: ``` extension=php_oci8_12c.dll // Windows extension=php_oci8.so // Linux, macOS ``` ...

    oracle交叉表sql

    下面我们将通过具体的例子来详细介绍如何在Oracle环境中构建交叉表。 #### 三、案例详解:使用存储过程实现交叉表 根据提供的部分代码内容,我们可以看到这是一个用存储过程来实现交叉表的例子。这里主要涉及以下...

    Oracle_数据库的绑定变量特性及应用终稿.pdf

    Oracle数据库的绑定变量是提升系统性能和可扩展性的重要特性,尤其对于大型企业级应用而言,正确使用绑定变量能够显著优化数据库操作。绑定变量的主要作用是减少解析和优化过程,提高查询效率,节省系统资源。 首先...

    oracle数据库游标使用例子

    - **提取数据**:使用`FETCH`语句从游标中获取一行数据,并将其存储在变量中。 - **循环处理**:通常使用`WHILE`循环结合`%FOUND`或`%NOTFOUND`来遍历游标中的每一行。 - **关闭游标**:使用`CLOSE`语句关闭游标...

    Oracle数据库的绑定变量特性及应用.pdf

    相比之下,使用绑定变量(如`SELECT * FROM EMP WHERE EMPNO=:empno`),变量值在执行时传递,查询计划一旦编译就会被缓存到共享池中,供后续同类型的查询复用,显著提高了效率。 绑定变量的使用限制主要在于,它们...

    Oracle数据库绑定变量特性及应用

    在这个例子中,我们可以看到,使用绑定变量的查询执行时间显著低于不使用绑定变量的情况,证明了绑定变量对于提高性能的重要性。 然而,值得注意的是,虽然绑定变量通常带来性能提升,但在某些特定情况下,如绑定...

    oracle 存储过程语法例子

    总结,这个例子中展示了Oracle存储过程的基本结构,包括包的创建、过程的定义、游标的使用、条件判断、动态SQL以及异常处理。这些都是在Oracle数据库环境中编写高级逻辑和数据操作时不可或缺的技能。通过理解和实践...

    oracle存储过程例子

    除此之外,Oracle存储过程还可以包含流程控制语句(如IF-THEN-ELSE, CASE, LOOP)、异常处理(EXCEPTION)和变量声明,使其功能更加丰富和灵活。在进行数据库优化时,存储过程是常用的技术手段之一,能够有效提升...

    oracle中将一个用户的所有表的权限授予另一个用户的方法

    本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的命令来完成。下面我们将详细解析这一操作的步骤、原理以及可能遇到的问题。 ### Oracle中的权限...

    java连接oracle成功例子

    使用`executeUpdate()`方法执行INSERT语句,将一条新记录添加到`emp`表中。 2. **更新数据**: ```java int j = stmt.executeUpdate("update emp set ENAME='jack' where EMPNO=7369"); ``` 使用相同的`...

    java连接AmericanascII7字符集oracle例子

    在Java开发中,连接Oracle数据库是一项常见的任务,尤其是在处理特定字符集如American ASCII7时,开发者需要对字符编码有深入的理解。Oracle数据库支持多种字符集,包括ASCII,它是最基础的7位字符集,包含32个控制...

    oracle bpm 12c的例子

    在这个例子中,我们将探讨如何使用Oracle BPM 12c 创建一个简单的休假流程。 首先,确保你拥有正确的环境配置,包括Oracle BPM 12c 12.1.3.0.0_bpm、JDK 1.7.0_u45、BPM Bundle Patch 12.1.3.0.3以及Apache Derby...

    oracle触发器实现二维码

    描述中提到,这个资源是通过Java代码生成二维码图片,然后利用触发器将生成的二维码图片转换为BLOB(Binary Large Object)格式,并将其存储到Oracle数据库的表中。BLOB类型字段用于存储非结构化的二进制数据,非常...

Global site tag (gtag.js) - Google Analytics