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

Oracle--函数

 
阅读更多

 开发者博客www.developsearch.com

 

 

简单函数:根据ID获取别名

 FUNCTION GET_SET_ALIAS_BY_SETID(IN_SETID IN VARCHAR2) RETURN VARCHAR2 AS
    V_SET_ALIAS VARCHAR2(60);
  BEGIN
    SELECT T.ALIAS
      INTO V_SET_ALIAS
      FROM CDH_NEWRBT_SET T
     WHERE T.SET_ID = IN_SETID;
    RETURN V_SET_ALIAS;
  END;

 

 

函数: 字符串分割

-- 创建组合SETIDS表集合类型
CREATE OR REPLACE TYPE TBL_SPLIT_TYPE IS TABLE OF VARCHAR2 (4000);
  
FUNCTION SPLIT_STR(  P_STR       IN VARCHAR2,
                     P_DELIMITER IN VARCHAR2 DEFAULT (','))
    RETURN TBL_SPLIT_TYPE IS
    J        INT := 0;
    I        INT := 1;
    LEN      INT := 0;
    LEN1     INT := 0;
    STR      VARCHAR2(4000);
    MY_SPLIT TBL_SPLIT_TYPE := TBL_SPLIT_TYPE();
  BEGIN
    LEN  := LENGTH(P_STR);
    LEN1 := LENGTH(P_DELIMITER);
  
    WHILE J < LEN LOOP
      J := INSTR(P_STR, P_DELIMITER, I);
    
      IF J = 0 THEN
        J   := LEN;
        STR := SUBSTR(P_STR, I);
        MY_SPLIT.EXTEND;
        MY_SPLIT(MY_SPLIT.COUNT) := STR;
      
        IF I >= LEN THEN
          EXIT;
        END IF;
      ELSE
        STR := SUBSTR(P_STR, I, J - I);
        I   := J + LEN1;
        MY_SPLIT.EXTEND;
        MY_SPLIT(MY_SPLIT.COUNT) := STR;
      END IF;
    END LOOP;
  
    RETURN MY_SPLIT;
  END;

 

检查维度是否存在交集

FUNCTION COUNT_DMNSN(IN_DMNSN_A IN NUMBER, IN_DMNSN_B IN NUMBER)
    RETURN NUMBER AS
    V_COUNT NUMBER;
  BEGIN
    -- 任意一方为-1(全选) 都表示存在交集 将V_COUNT手工置值为1
    IF (IN_DMNSN_A = -1 OR IN_DMNSN_B = -1) THEN
      V_COUNT := 1;

      -- 两者都不为-1的情况需要铺开判断是否存在交集
    ELSE
      SELECT COUNT(0)
        INTO V_COUNT
        FROM (SELECT D.CODE
                FROM CDH_NEWRBT_SET_DMNSN D
               WHERE D.DMNSN_ID = IN_DMNSN_A
              INTERSECT
              SELECT D.CODE
                FROM CDH_NEWRBT_SET_DMNSN D
               WHERE D.DMNSN_ID = IN_DMNSN_B);

    END IF;
    -- 返回结果
    RETURN V_COUNT;
  END;

 

 开发者博客www.developsearch.com

 

 

 

分享到:
评论

相关推荐

    cx_Oracle-5.1.3.tar.gz,oracle-instantclient11.2

    在Python中使用cx_Oracle时,首先需要创建一个连接对象,这通常涉及提供数据库的连接字符串(包括数据库服务名、用户名和密码),然后使用connect()函数建立连接。一旦连接建立,就可以执行SQL查询,处理结果集,...

    oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip

    1. **头文件**:头文件提供了Oracle数据库API的声明,如oci.h,用于访问Oracle数据库的函数和数据结构。开发者可以引用这些头文件来编写与Oracle数据库交互的代码。 2. **库文件**:SDK中的库文件(如libclntsh.so...

    DBD-Oracle-1.75_2.tar.gz

    DBI提供了一系列的函数和方法,用于建立数据库连接、执行SQL语句、处理结果集等。这样,即使更换了数据库系统,只要相应的DBD支持,代码的改动也会很小。 DBD-Oracle作为DBI的子模块,负责与Oracle数据库进行通信。...

    oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.zip

    例如,`oci.h`头文件提供了oci接口的定义,而`libclntsh.so`等动态链接库则包含运行时所需的函数实现。 3. 版本号解读: - "11.2.0.3.0"代表这是Oracle Database 11g Release 2的第3次次要更新。每个部分分别表示...

    Oracle-函数介绍.pptx

    Oracle-函数介绍.pptx

    DBD-Oracle-1.42.tar.gz

    在这个例子中,`DBI-&gt;connect()` 用于建立到 Oracle 数据库的连接,`prepare()` 函数用于准备 SQL 查询,`execute()` 执行查询,`fetchrow_array()` 用于获取结果集中的每一行数据。最后,使用 `finish()` 关闭语句...

    cx_Oracle-7.3.0-cp36-cp36m-win_amd64.7z

    例如,它可能增加了对PL/SQL过程和函数的调用支持,或者提升了数据处理速度。由于描述中没有具体信息,我们只能假设它具备了cx_Oracle库的一般功能和特性。 cx_Oracle-7.3.0-cp36-cp36m-win_amd64.whl是一个Python...

    Oracle-OCI(Oracle-Call-Interface)官方文档翻译

    Oracle-OCI(Oracle Call Interface)是一种应用程序编程接口(API),它允许开发者通过函数调用来直接访问Oracle数据库,以及控制SQL语句执行的各个阶段。这一接口支持C和C++的数据类型、调用惯例、语法和语义。OCI...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64

    - **PL/SQL块执行**:支持编写和执行存储过程、函数和触发器等PL/SQL代码。 - **动态SQL**:允许在运行时构建和执行SQL语句。 - **导出导入数据**:通过SQL*Plus的spool功能,可以将查询结果导出为文本文件,或从...

    oracle-trunc函数使用介绍.doc

    oracle-trunc函数使用介绍.doc

    oracle-字符串去重函数

    传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考

    oracle-函数.pptx

    Oracle函数 Oracle 函数是 SQL 语言中的一种强大特征,使用函数可以对数据执行计算、改变特定的数据项、生成数据行分组输出、格式化日期和数值的显示形式、对列数据类型进行转换等。函数可以接收多个参数,但通常...

    oracle-database-programming.rar_oracle_oracle函数

    Oracle函数是实现数据处理和查询的重要工具,对于任何希望深入理解和掌握Oracle数据库编程的人来说,理解并熟练运用这些函数是必不可少的。 在Oracle数据库中,函数可以分为几大类,包括内置函数、数学函数、字符串...

    jansu-dev#Oracle-Learning-Notes#[Oracle]--触发器加密函数1

    title:[Oracle]--触发器加密函数利用数据库触发器和函数给数据库内容加密。加密函数一例:给数据库183添加加密函数YOURPASSWORD:手动设置

    cx_Oracle-5.1.2.tar.gz

    开发者可以使用`connect()`函数建立与Oracle服务器的连接,同时支持连接池管理,以便高效地重用和管理数据库连接。 2. **游标对象**:在Python DB-API中,游标对象用于执行SQL语句和处理结果集。cx_Oracle的游标类...

Global site tag (gtag.js) - Google Analytics