- 浏览: 453395 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (377)
- Java (66)
- C++ (0)
- VC++ (0)
- .net (1)
- css (36)
- 数据库 (22)
- html (2)
- extjs (1)
- jpbm (0)
- javascript (31)
- 物资管理 (1)
- java基础 (5)
- C# (0)
- Android (56)
- window service (1)
- 其他 (2)
- Web服务器 (7)
- jbpm (1)
- eclipse (2)
- tomcat (3)
- java字符串与二进制的相互转化 (1)
- Oracle 数据库 (6)
- FreeMarker (8)
- 浏览器 (1)
- php (1)
- photoshop (6)
- spring (4)
- spring mvc (2)
- Acegi (1)
- webStorm 3.0 (4)
- Mongodb (8)
- mysql (9)
- 软件开发:需求分析 (1)
- 把Java程序作为Windows系统服务 (1)
- nodejs (4)
- json (1)
- 缓存 (1)
- J2ee (2)
- Flash报表 (1)
- MyEclipse+Maven+Tomcat (11)
- 生活 (1)
- Ubuntu (1)
- Bootstrap (1)
- jquery easy ui (2)
- 敏捷开发 (1)
- phone gap (1)
- rest (1)
- 移动开发 (22)
- Redis + Jedis + Spring (3)
- anroid (7)
- grunt 教程 (7)
- PhoneGap (2)
- sublime text (7)
- mariadb (1)
- linux (1)
- maven (2)
- jquery (1)
- ActiveMQ (1)
- LVS Nginx (1)
- nginx (6)
- ngnix (1)
- 爱因斯坦 (1)
- 天干地支 (1)
最新评论
-
muqingren:
...
Maven多模块布局实例详解 -
shutear:
解决了我的难题,谢谢分享!
Unable to load configuration. - action - file:/D:/studytool/apache-tomcat-6.0.16 -
702346318:
[img][/img][flash=200,200][/fla ...
CAS单点登录完整教程(上)【转】 -
liuguofeng:
PersonS631887934 写道学习中。。 有个问题想请 ...
js constructor属性 -
S631887934:
学习中。。 有个问题想请教楼主为什么要加上Person.pro ...
js constructor属性
在SQL Server中有表变量,可以在function中方便地返回,习惯SQL Server或者需要把脚本从SQL Server转到Oracle中的朋友可以都会碰到这个问题.
Oracle的function中怎么返回表变量?
太晚了,过多的理论知识就不说了,下面简单地说实现吧!..
1、创建表对象类型。
在Oracle中想要返回表对象,必须自定义一个表类型,如下所示:
create or replace type t_table is table of number;
上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要先定义一个对象类型。然后把对象类型替换上面语句中的number;
定义对象类型:
create or replace type obj_table as object
(
id int,
name varchar2(50)
)
(
id int,
name varchar2(50)
)
修改表对象类型的定义语句如下:
create or replace type t_table is table of obj_table;
2、 创建演示函数
在函数的定义中,可以使用管道化表函数和普通的方式,下面提供两种使用方式的代码:
1)、管道化表函数方式:
create or replace function f_pipe(s number)
return t_table pipelined
as
v_obj_table obj_table;
begin
for i in 1..s loop
v_obj_table := obj_table(i,to_char(i*i));
pipe row(v_obj_table);
end loop;
return;
end f_pipe;
return t_table pipelined
as
v_obj_table obj_table;
begin
for i in 1..s loop
v_obj_table := obj_table(i,to_char(i*i));
pipe row(v_obj_table);
end loop;
return;
end f_pipe;
注意:管道的方式必须使用空的return表示结束.
调用函数的方式如下:
select * from table(f_pipe(5));
2)、 普通的方式:
create or replace function f_normal(s number)
return t_table
as
rs t_table:= t_table();
begin
for i in 1..s loop
rs.extend;
rs(rs.count) := obj_table(rs.count,'name'||to_char(rs.count));
--rs(rs.count).name := rs(rs.count).name || 'xxxx';
end loop;
return rs;
end f_normal;
return t_table
as
rs t_table:= t_table();
begin
for i in 1..s loop
rs.extend;
rs(rs.count) := obj_table(rs.count,'name'||to_char(rs.count));
--rs(rs.count).name := rs(rs.count).name || 'xxxx';
end loop;
return rs;
end f_normal;
初始化值后还可以想注视行那样进行修改.
调用方式如下:
select * from table(f_normal(5));
OK, The End...
<script type="text/javascript"></script>
发表评论
-
数据库悲观锁和乐观锁
2014-07-06 17:48 637一下是转载的oracle和Mysql两种数据库悲观锁和乐观锁 ... -
Mysql常用命令七(MySQL的优化方法)
2014-10-28 09:36 1185MySQL的优化 一、我们可以且应该优化什么? 硬件 操作 ... -
mysql 中 时间和日期函数
2014-10-28 09:36 635mysql 中 时间和日期函数 一、MySQL 获 ... -
Oracle创建用户/密码并授权 移除权限
2012-03-09 14:07 3277Oracle创建用户/密码并授权 (1) 创建用 ... -
数据字典和动态性能视图
2011-07-01 11:33 1167最近开始学习oracle,现把笔记一分享如下. 一.数据字 ... -
Oracle 系统表大全
2011-07-01 11:27 9141、用户: select username from db ... -
Oracle SEQUENCE
2011-07-01 11:25 10121.创建SEQUENCE(自增长列 与表无关) CRE ... -
16种oracle查询日期语句
2011-07-01 11:24 1472查询日期是使用oracle数据库过程中经 ... -
sql 2005 索引优化
2011-03-07 10:35 949(一)深入浅出理解索 ... -
oracle定义变量
2010-11-02 23:20 2701------------------------------ ... -
Oracle使用手册(一)---声明变量
2010-11-02 23:13 1757Oracle使用手册(一)---声明变量 /**//* --建 ... -
oracle 游标以及游标变量(1)
2010-11-02 23:11 1161ORACLE 游标 一. PL/SQL 是用游标来管理 ... -
ORACLE函数大全
2010-09-21 13:11 936SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制 ... -
Oracle 中的 dual 表是干什么的
2010-09-21 11:29 1228dual是一个虚拟表,用来构成select的语法规则,orac ... -
SQL优化34条(一)
2010-09-21 11:27 803我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为 ... -
oracle联机日志文件恢复
2010-09-16 22:13 1101SQL> shutdown immediate ... -
Oracle 日志文件错误的处理
2010-09-16 22:12 1145转自:http://hi.baidu.com/da ... -
MySQL性能优化的最佳20+条经验
2010-09-16 16:05 862今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于We ... -
Oracle SQL优化34条(二)
2010-09-16 15:55 904(17) 用索引提高效率: 索引是表的一个概念部分,用来提高检 ... -
oracle客户端配置
2010-09-16 09:25 2243本帖最后由 落↓孤❤寒 于 2010-7-17 13:16 ...
相关推荐
你可以选择添加约束,如主键或唯一键,来限制表类型中的数据。 接下来,我们讨论如何声明和使用表变量。表变量是基于已定义的表类型的实例,它们可以作为局部变量在PL/SQL块中声明。例如: ```sql DECLARE my_...
以下是关于Oracle函数的一些详细说明: 1. ASCII函数:ASCII函数返回与输入字符相对应的ASCII码,即十进制数字。例如,ASCII('A')返回65,ASCII('a')返回97。 2. CHR函数:CHR函数根据提供的整数返回对应的字符。...
### 标题:“oracle10g 函数返回游标类型” 此标题直接指向了Oracle 10g环境下,如何设计和实现返回游标类型的数据的函数。游标是数据库中的一个重要概念,它允许用户在数据库中定位、检索、更新和删除数据行。当...
Oracle函数是数据库操作中的核心组成部分,它们允许开发人员和DBA执行各种计算、转换、查询和数据处理任务。手册中可能涵盖了以下几类函数: 1. 数学函数:如ABS(取绝对值)、MOD(取模)、ROUND(四舍五入)等,...
在Oracle中,数据类型是定义变量、列或者常量的格式,而函数则是执行特定任务的预定义过程。 首先,让我们来看看Oracle中的常用数据类型: 1. NUMBER:这是Oracle中最通用的数字类型,可以存储整数和浮点数,允许...
Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,需要创建一个新的类型来存储拆分后...
在Oracle数据库中,由于内置函数不直接支持像Java中的`split`那样拆分字符串并返回数组,因此开发者需要自定义函数来实现这一功能。这里提到的两种方法都是为了解决这个问题,即根据指定的分隔符将字符串拆分为一个...
2. **创建Oracle函数返回索引表**: 在PL/SQL中,你可以定义一个函数,使其返回上述索引表类型。下面的`funtry_ret_index`函数创建了一个`sqlindext`类型的实例`array`,并填充了一些值,然后将其返回。 ```sql ...
下面将详细讲解在"oracle函数分类.rar"压缩包中的主要函数类别及其应用。 首先,我们关注的是**数值型函数**。在处理数字数据时,Oracle提供了多种操作函数,如`ROUND`用于四舍五入,`TRUNC`用于截断小数部分,`MOD...
文档可能涵盖了更复杂的场景,如处理多参数函数、处理复杂返回类型、以及在事务管理中调用函数等。 总的来说,Hibernate调用Oracle函数涉及到了数据库设计、ORM框架的使用、原生SQL查询和结果映射等多个方面,熟练...
总的来说,这个压缩包提供的Oracle函数大全对于数据库管理员、开发人员或学习者来说是一份宝贵的资源,它详尽地介绍了Oracle中各种类型的函数,帮助用户更好地理解和使用这些功能,提高工作效率。无论是日常的查询...
通过将命令对象设置为Recordset的数据源并打开Recordset,我们可以访问Oracle函数返回的数据集。最后,关闭Recordset和连接,并捕获可能的错误。 总的来说,这个例子展示了如何在VB环境中通过ADO(ActiveX Data ...
在“Oracle函数大全”文档中,涵盖了多种类型的函数,这些函数主要用于字符串处理、数值计算、字符转换等任务。以下是部分重要的Oracle函数及其用途的详细说明: 1. ASCII函数:这个函数用于返回一个字符的ASCII码...
本文主要聚焦于Oracle中的经典函数,特别是单值函数,这些函数在处理数值、字符和日期类型的数据时发挥着关键作用。 首先,我们来看看数值型函数。Oracle提供了一系列用于处理数值的函数,如`MOD(n1, n2)`用于计算...
在Oracle数据库中,类型转换函数是处理数据时不可或缺的一部分,它们能够帮助我们高效地操作不同数据类型之间的转换,确保数据的准确性和完整性。本文将详细解释Oracle中的常见类型转换函数,包括数学函数、字符串...
1. 在使用函数时,需注意函数的参数类型和返回类型,确保数据类型的匹配,避免出现错误。 2. NVL()和NVL2()的区别在于,当第二个参数为NULL时,NVL2()会返回第三个参数的值,而NVL()则直接返回NULL。 3. 使用DECODE...
1. **标量函数**:这些函数返回单个值,如`UPPER()`用于将字符串转换为大写,`LOWER()`则转换为小写,`INSTR()`用于在字符串中查找子串的位置。 2. **聚合函数**:在一组行上操作并返回单个值,例如`COUNT()`计算...
Oracle数据库系统内置了大量函数,这些函数可以分为多个类别,例如字符函数、数字函数、日期函数、转换函数、分组函数以及其他辅助函数等。以下是对每个类别中一些常用函数的详细介绍: 字符函数 1. ASCII函数:...
在Oracle数据库中,`CRC32`函数是一种非常实用的功能,主要用于将字符类型的数据转换为一个唯一的数字类型,这一过程通常被称为散列(Hash)。通过该函数,可以方便地生成针对特定字符串的固定长度的数字签名,这...
在实际工作中,我们常常需要结合使用Oracle函数和数据字典。比如,当需要找出某个用户拥有特定权限的所有表时,可以编写SQL查询利用`DBA_TAB_PRIVS`和`DBA_USERS`视图;或者,如果想要分析表的大小和空间使用情况,...