FUNCTION:
在function中,大部分业务相对复杂,查出的字段不想表中直接取出那么单一,某些字段要经过几个字段的运算才能获得,这个给分组带来了很大的难题。因为某些字段需要输出,但是却影响分组,这时候可以有一个迂回的办法。
1. select * from table(F_ClaimState('2010-10-01','2011-11-01',null)) 直接获取表函数
在这里可以转移下关注点,通常我们取得的值在function 中已经定义好了,但这时候可以在function中不分组,等到用到的时候在去处理。
比如 distinct
select distinct v_orgcode,v_orgname,v_orgcode1,v_orgname1,v_prodcode,
v_prodname,v_solvetireno,v_claimqty,v_claimratio,v_count,v_zglp,v_lpbl
from table(F_ClaimState('2010-10-01','2011-11-01',null))
在取出的时候在分组,可以有效解决function中复杂函数 分组难得问题。通过转换注意力,从另一个角度去思考,也能很好的解决问题。
在此小记一下。
分享到:
相关推荐
pl/sql中oracle的函数,过程,包,事务等介绍
oracle 教程 是我的学习笔记。 关于 存储过程(procedure) , 函数(function) 游标(curser) , 任务(job) 等都有详细的说明了实例演示, 每个实例都是经过测试的。
FETCH cursor_name INTO PL/SQL_record; 4)关闭游标。CLOSE cursor_name 注意:在声明游标时,select_statement不能包含INTO子句。当使用显示游标时,INTO子句是FETCH语句的一部分。 2 隐式游标 所有的隐式...
Oracle 函数用法 Oracle 函数是Oracle数据库中的一种编程对象,它允许用户定义...Oracle 函数可以帮助用户实现复杂的业务逻辑,并提高 SQL 语句的执行效率。但是,需要注意函数的调用限制和语法规则,以避免出现错误。
Oracle 递归函数是一种特殊的PL/SQL函数,可以用于解决复杂的树形结构查询问题。递归函数可以自我调用,以便遍历树形结构的每个节点,直到达到停止条件。 在 Oracle 中,递归函数的定义语法如下所示: ```sql ...
sql_str:='select id, name from producttype where id=:type_id'; execute immediate sql_str into trow using tid; --将查询的结果给trow,查询语句中用到的参数使用tid替换 dbms_output.put_line('编号:'||...
15.3 sql server中的存储过程和函数 308 15.3.1 系统存储过程 308 15.3.2 使用create procedure创建存储过程 309 15.3.3 使用execute语句调用存储过程 310 15.3.4 使用create function创建函数 312 15.3.5 使用...
匿名块不在数据库中存储并且不能直接从其他 PL/SQL 块中调用。 * 命名块:除匿名块之外的其他块。包括过程,函数,包和触发器。可以在数据库中存储并在适当的时候运行。 子程序的优点: * 具有可扩展性 – 可以...
Oracle P/L SQL实现文件压缩、解压功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 Create or Replace Package UTL_ZIP AUTHID CURRENT_USER as Type File_List is Table of Clob; -...
在PL/SQL 中的数据类型377 字符串类型377 数值数据类型378 二进制数据类型378 日期数据类型378 逻辑数据类型378 ROWID379 PL/SQL 块的结构379 注释380 DECLARE 部分380 变量声明380 常量定义381 指针定义381 %TYPE ...
Oracle PL/SQL程序设计 实验六 实验内容 以bs用户登录BOOKSALES数据库,利用PL/SQL程序编写下列功能模块。 SQL>CONN bs/bs@booksales (1)创建一个函数,以客户号为参数,返回该客户订购图书的价格总额。 create or...
oracle to_char函数的各种应用,在pl_sql当中的各种写法
15.3 SQL Server中的存储过程和函数 15.3.1 系统存储过程 15.3.2 使用CREATE PROCEDURE创建存储过程 15.3.3 使用EXECUTE语句调用存储过程 15.3.4 使用CREATE FUNCTION创建函数 15.3.5 使用Enterprise ...
用所学的pl/sql知识做一下程序,要求可能出现的异常要处理: 1、写一个存储函数 给一个地区id,查找这个地区工资最高的部门的名称,并输出。 CREATE OR REPLACE FUNCTION fun_getDept( p_rid s_region.id%TYPE)...
将字符串分割成数组: ...用法:可以将分割结果做为一个数组或者数据库表列来使用 select * from scott.emp where empno in (select column_value from table(my_split('7369,7499,7521,7844',',')));
Oracle创建函数是通过PL/SQL自定义编写的,通过关键字function按照自己的需求把复杂的业务逻辑封装进PL/SQL函数中,函数提供一个返回值,返回给使用者。这样使用者就不需要去理解业务逻辑,把PL/SQL函数中的业务逻辑...
过程:Create or replace procedure procname(参数列表) as PL/SQL语句块 函数:Create or replace function funcname(参数列表) return 返回值 as PL/SQL语句块 为便于理解,举例如下: 问题:假设有一张表t1,有...
Oracle 入门文档 Oracle笔记 一、oracle...Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十三、PL/SQL面向对象之package Oracle笔记 十四、查询XML操作、操作系统文件
Oracle 入门文档 Oracle笔记 一、oracle...Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十三、PL/SQL面向对象之package Oracle笔记 十四、查询XML操作、操作系统文件
支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行列位置,方便于调试 多线程、多连接:可以创建...