`

关于PL_SQL中表函数function 复杂sql的分组问题

    博客分类:
  • SQL
 
阅读更多

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函数及其在财务系统中的应用.pdf

    PL/SQL函数允许开发者在数据库中定义、调用和使用函数,以执行复杂的逻辑操作和数据处理任务。在财务系统中,PL/SQL函数的应用能够显著增强系统的处理能力,实现其他数据库管理系统难以做到的功能。 1. PL/SQL函数...

    pl_sql基本语法例子.rar_SQL2569_oracle_pl/sql_plsql增删改查

    PL/SQL是Oracle数据库系统中的一个重要组成部分,它是一种结合了SQL与过程编程的语言,用于在Oracle环境中编写存储过程、函数、触发器等数据库对象。本资料主要涵盖了PL/SQL的基本语法以及数据的增删改查操作和视图...

    ORACLE8 PLSQL程序设计_sql_code.zip_oracle pl/sql_pl sql code_pl/sql_

    7. **PF**: "PF"可能是"Procedure or Function"的简写,05-PF.SQL可能展示了如何定义和使用PL/SQL中的过程和函数。 8. **EXAMP**: 06-EXAMP.SQL、10-EXAMP.SQL以及04-LOOP.SQL可能包含各种PL/SQL编程示例,如控制...

    SQL_Plus.rar_SQL 表 操作_pl sql_plus

    本资源包“SQL_Plus.rar”聚焦于使用SQL Plus工具进行SQL表操作,结合PL/SQL(Procedural Language for SQL)的使用,这对于数据库管理员、开发人员以及数据分析师来说至关重要。 SQL Plus是Oracle公司提供的一个...

    Oracle_function_package_procedure.rar_oracle_pl sql function_pl/

    在Oracle数据库中,PL/SQL(Procedural Language/Structured Query Language)是一种结构化查询语言的扩展,它允许开发人员编写复杂的数据库应用程序。本文将深入探讨在PL/SQL中Oracle的函数、过程、包以及事务管理...

    Oracle 11gR2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤.doc

    `PASSWORD_VERIFY_FUNCTION`允许我们自定义一个PL/SQL函数,该函数将在用户尝试更改密码时进行验证,确保新密码满足预设的复杂度规则。以下是在Oracle 11g R2中创建这个功能的详细步骤: 1. **执行默认密码复杂度...

    Oracle数据语言PL_SQL介绍

    Oracle PL/SQL是一种强大的编程语言,专为在Oracle数据库环境中执行复杂的数据库操作而设计。它结合了SQL查询语言的功能和过程式编程语言的控制结构,为数据库管理员和开发者提供了更高级别的灵活性和效率。 PL/SQL...

    pl_sql数据库编程.txt

    在IT领域,特别是数据库管理与开发中,Oracle PL/SQL是一种极为重要的技能,它结合了SQL语言的强大数据处理能力和过程化编程的灵活性,为数据库应用提供了丰富的功能和强大的控制机制。根据给定文件的信息,我们可以...

    PL_SQL培训文档

    **过程**(Procedure)和**函数**(Function)是PL/SQL中的子程序,过程没有返回值,而函数则返回一个值。它们可以接受参数,用于封装复杂的业务逻辑。 ### 程序包 程序包(Package)是PL/SQL的一个高级特性,它...

    PL_SQL总结-5.rar

    过程(Procedure)和函数(Function)是PL/SQL中的重要组成部分,它们封装了可重用的代码块。函数返回值,而过程不返回。 7. **包(Package)**: 包是一种将相关的过程、函数、变量和常量组织在一起的方式,可以...

    Oracle9i PL_SQL从入门到精通

    Oracle9i PL/SQL是Oracle数据库系统中的一种高级编程语言,用于在数据库环境中编写存储过程、函数、触发器等数据库对象。本资料“Oracle9i PL/SQL从入门到精通”旨在帮助初学者掌握这一强大的数据库编程技术,并逐步...

    12oracle的PL/SQL编程-函数.包.触发器 PPT

    本文将深入探讨PL/SQL中的三个关键概念:函数、包和触发器,以及它们在Oracle数据库系统中的应用。 ### 1. 函数(Functions) 函数是PL/SQL中可重用的代码单元,它们接收输入参数,执行计算或操作,并返回一个结果...

    PL_SQL文件

    例如,在 SQL Server 中可以使用类似的函数来实现字符串分割功能。 - **示例代码**: ```sql CREATE FUNCTION [dbo].[fn_split] (@InputString NVARCHAR(MAX), @Seprator NVARCHAR(10)) RETURNS @tempTable TABLE...

    PL_SQL总结-4.rar

    9. **数据库对象操作**:PL/SQL可以直接操作数据库中的表、视图、索引等对象,进行插入、更新、删除等操作。 通过这个“PL/SQL总结-4”的教程,你可以期待深入理解这些概念,并学习如何在实际项目中应用它们。这...

    Oracle9i中JAVA和PL_SQL的互操作方法.pdf

    PL/SQL是Oracle数据库中用于编写存储过程、函数、包、触发器等数据库对象的服务器端编程语言。而JAVA存储过程则允许开发者使用JAVA语言编写存储过程,并将其集成到Oracle数据库中。 在Oracle9i中,JAVA和PL/SQL的互...

    oracle_oracle_oraclepl/sql_

    8. **动态SQL**:允许在PL/SQL程序中构建和执行SQL语句,增强了灵活性,特别是在需要动态构建复杂查询时。 9. **包(PACKAGE)**:将相关的变量、常量、过程和函数组合在一起,形成一个逻辑单元,提高代码的组织性...

    利用Oracle PL_SQL Package实现Dispatcher设计模式 (1).pdf

    在Oracle PL/SQL中,这些处理函数可以是过程(Procedure)或者函数(Function)。它们需要根据不同的业务逻辑来编写,并确保它们能够正确处理相应类型的请求。 最后,连接消息ID和处理函数是将消息ID与对应的处理...

    oracle 9i pl/sql程序设计笔记

    此匿名块展示了如何使用PL/SQL声明变量、插入数据到表中以及使用`DBMS_OUTPUT`包在屏幕上显示数据。值得注意的是,为了使`DBMS_OUTPUT.PUT_LINE`函数生效,需要确保服务器输出(Server Output)已开启,可通过命令`...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...

Global site tag (gtag.js) - Google Analytics