`

pl-sql中函数循环插入值方式一

    博客分类:
  • SQL
阅读更多
create or replace function F_TEST( p_type  in number, p_startdate in varchar2, p_enddate   in varchar2)
--type类型table_test
return table_test
pipelined is
  pragma autonomous_transaction;--自动事物
  --type类型row
  v_row_test row_test;
  type generic_cr is ref cursor;
  cr_sqlcur           generic_cr;--cursor类型
  v_sql              varchar2(4096);
  --声明参数
  v_orgcode           varchar2(32);
  v_orgname           varchar2(128);

--根据不同类型,组合需要的sql
if p_type = 1 then
  v_sql:='select  * from table1 where
   h.startdate > to_date('''||p_startdate||''',''yyyy-mm-dd'')-1
   and h.enddate < to_date('''||p_enddate||''',''yyyy-mm-dd'')+1';
end if;


if p_type = 2 then
  v_sql:='select  * from table2 where
   h.startdate > to_date('''||p_startdate||''',''yyyy-mm-dd'')-1
   and h.enddate < to_date('''||p_enddate||''',''yyyy-mm-dd'')+1';
end if;

--新建一个表,两个字段,将sql插入到表中,方便查看sql
  insert into test (msn) values (v_sql);
  commit;
 
  --打开循环--open loop fetch into
  open cr_sqlcur for v_sql;
  loop
    fetch cr_sqlcur
      into
               v_orgcode,
               v_orgname;

    exit when cr_sqlcur%notfound;

             --type row 整合输出的字段
             v_row_test := row_test( v_orgcode,v_orgname);
        -- 管道输出
        pipe row(v_row_test);

    end loop;--循环结束

  close cr_sqlcur;
  commit;
  return;
end F_TEST;

--open loop fetch into
将值插入到自定义字段中--然后用管道输出
分享到:
评论

相关推荐

    Oracle PL-SQL语言教程(简体中文pdf版

    二、PL-SQL函数和过程 1. **内置函数**:Oracle提供了一系列内置函数,如数学函数、字符串函数、日期时间函数等,方便进行数据处理。 2. **自定义函数**:用户可以创建自己的函数,接收参数,执行特定逻辑,并返回...

    PL-SQL.rar_pl sql_pl sql 操作_存储过程

    9. **控制结构**:PL-SQL具备流程控制语句,如IF...THEN...ELSIF...ELSE、CASE语句、循环(FOR、WHILE)等,使得在数据库中实现复杂逻辑成为可能。 通过阅读"PL-SQL.pdf"文档,你将深入理解这些概念,并学习如何...

    PL-SQL案例.rar

    10. DDL和DML操作:PL/SQL可以直接在代码中执行创建表、删除表、修改表结构等DDL(Data Definition Language)和插入、更新、删除等DML(Data Manipulation Language)操作。 在"PL-SQL案例.rar"中,可能涵盖了以上...

    PL-SQL操作手册

    《PL-SQL操作手册》是一本专为数据库系统管理员和应用系统设计师编写的深度学习PL/SQL语言的著作。PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库系统支持的一种混合了SQL与过程化编程...

    ORACLE PL-SQL编程详解

    PL/SQL是一种过程化语言,支持条件判断、循环等结构化的编程控制流。这种特性使得开发者能够编写更加复杂和灵活的程序逻辑,提高了代码的复用性和可维护性。 ##### 1.2.4 模块化 PL/SQL支持将代码组织成块结构、...

    Oracle Developer PL-SQL Programing

    5. **SQL嵌入**:PL/SQL可以直接在程序中嵌入SQL语句,执行数据查询、插入、更新和删除等操作。这些SQL语句可以返回结果集,供PL/SQL处理。 6. **游标**:游标是处理单行结果集的一种机制,允许PL/SQL逐行访问和...

    PL-SQL程序设计

    - **定义**:PL/SQL(Procedure Language for SQL)是Oracle数据库的一种专有编程语言,它结合了SQL的强大数据处理能力和传统编程语言的过程化特性。自Oracle 6版本开始,PL/SQL作为数据库的标准组件被广泛应用于...

    OraclePL-SQL.rar_ORACLE PL_oracle_oracle sql

    8. **存储过程与函数**:存储过程和函数是PL/SQL中预编译的代码单元,可以封装一系列操作并多次调用。存储过程不返回值,而函数则返回一个值。它们可以提高代码重用性和数据库性能。 9. **触发器**:触发器是一种...

    pl-sql.zip_vectors

    PL/SQL是Oracle数据库系统中的过程化语言,它结合了SQL查询和编程的特性,使得开发者可以编写复杂的数据库应用程序。在“pl-sql.zip_vectors”这个压缩包中,重点涉及的是PL/SQL基础过程、向量操作以及触发器的使用...

    BBSC PL-SQL 编程规范

    综上所述,《BBSC PL-SQL 编程规范》为开发人员提供了一套全面的指南,旨在通过标准化的命名、格式化、注释以及数据类型的选择等方式,提高代码的可读性、可维护性和整体质量。这对于构建高质量、易于维护的企业级...

    Oracle PL-SQL编程手册 .doc

    Oracle PL/SQL编程手册是数据库管理员和开发人员的重要...以上只是Oracle PL/SQL编程中的一部分核心概念,实际手册会详细介绍每个主题的语法、使用示例和最佳实践,帮助开发者更好地理解和利用Oracle数据库进行编程。

    Oracle数据库PL-SQL教程.zip

    你可以直接在PL/SQL块中嵌入SQL,执行DML(插入、更新、删除)和DDL(创建、修改、删除)操作。例如,INSERT INTO语句用于向表中插入新记录,UPDATE用于修改已有记录,DELETE用于删除记录,而CREATE TABLE则用于创建...

    PL-SQL ppt

    PL/SQL 是 Oracle 数据库中的一种编程语言,它是 SQL 的过程化扩展,结合了结构化查询语言的功能和过程性编程语言的特点。PL/SQL 的设计目的是为了更高效、安全地操作数据库,同时提供更复杂的逻辑控制和数据处理...

    Oracle PL-SQL编程 创建存储过程、函数、触发器等

    包是用来组织PL/SQL对象(如过程、函数、类型等)的一种方式。包可以分为两部分:包规范(Package Specification)和包体(Package Body)。 ##### 语法: **包规范**: ```sql CREATE [OR REPLACE] PACKAGE pkg_...

    PL-SQL的Oracle使用综合实例

    这需要我们编写一个PL/SQL过程或函数,该过程会遍历graduate数据表中的每一行,比较考生的单科成绩和总分与预设的最低分数线,然后在result数据表中更新相应的状态标志。 2. **数据表设计**: - **graduate数据表*...

    pl/sql最新中文手册

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...

    PL-SQL用户指南与参考(译)

    游标是PL/SQL中用于处理记录集的一种机制,可以实现对查询结果的逐行访问或批量处理。游标分为隐式游标和显式游标两种,其中显式游标需要显式打开、关闭并进行操作。 **4、游标FOR循环** 游标FOR循环是一种特殊的...

    pl-sql 培训资料

    PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库的一种扩展,它将SQL与过程式编程语言相结合,提供了更强大的数据库操作能力。本文将深入介绍PL/SQL的基础知识,帮助初学者快速入门。 ...

Global site tag (gtag.js) - Google Analytics