[size=large]
create or replace procedure P_TQA_F_NSPG(id_mth in number :=0) AS
v_id_mth number(6); ---一个简单的存储过程,传入加工月份,声明了个临时变量
begin ----v_id_mth做判断传入加工月份用的
if id_mth = 0 then
select to_number(to_char(sysdate,'yyyymm')) into v_id_mth from dual;
else
v_id_mth := id_mth;
end if;
delete TQA_F_NSPG where id_mth = v_id_mth ;----先删除要加工的月份数据
insert into TQA_F_NSPG(id_mth, -----插入到加工表中数据
Nsrnbm,
nsr_mc,
Id_Nspgjl,
Sk_Je,
Jj_Je,
swjg_dm,
mth_pg,
Name_Pgry)
select v_id_mth,
a.nsrnbm,
a.nsr_mc,
2,
case when b.zsxm_dm!='90' then b.je else 0 end,
case when b.zsxm_dm='90' then b.je else 0 end,
a.swjg_dm,
to_char(a.date_pgsj,'yyyymm'),
c.name_jcry
from TQA_D_NSPGJYS a,TQA_D_JYBSBSKQD b,TQA_D_NSPGSJB c where
a.no=b.no_jys and a.no_sj=c.no;
insert into TQA_F_NSPG(id_mth,
Nsrnbm,
nsr_mc,
Id_Nspgjl,
Sk_Je,
Jj_Je,
swjg_dm,
mth_pg,
Name_Pgry)
select v_id_mth,
a.nsrnbm,
a.nsr_mc,
case when a.id_nspgjl=3 then 3 else
case when a.id_nspgjl=4 then 4 else
case when a.id_nspgjl=1 then 1 else 0 end
end
end,
0,
0,
a.swjg_dm,
to_char(a.nspgrq,'yyyymm'),
c.name_jcry
from TQA_D_NSPGBG a,TQA_D_NSPGSJB c
where a.no_sj=c.no and (a.id_nspgjl=3 or a.id_nspgjl=4 or a.id_nspgjl=1);
commit; ----提交
end P_TQA_F_NSPG;
[/size]
分享到:
相关推荐
这篇博文“Oracle存储过程例子”可能提供了关于如何创建、调用和使用Oracle存储过程的实际示例。 首先,存储过程可以提高应用性能,因为它将多次执行的SQL语句预编译并存储在数据库中。每次调用时,只需要执行已...
Oracle 存储过程调用 CallabledStatement 实用例子(IN OUT 传游标) 一、Oracle 存储过程简介 Oracle 存储过程是一种可以在 Oracle 数据库中存储和执行的程序单元。存储过程可以由多种语言编写,例如 PL/SQL、...
Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储...
以下是一个创建Oracle存储过程的详细步骤和相关知识点的解释。 1. **创建存储过程的语法**: 创建存储过程的基本语法是 `CREATE OR REPLACE PROCEDURE procedure_name (parameter_list) AS declaration_section ...
Oracle存储过程是数据库编程的重要组成部分,它允许程序员在数据库中执行复杂的业务逻辑和数据操作。这个"ORACLE存储过程学习源码"集合包含了从基础到高级的30个示例,是学习和掌握Oracle存储过程的理想资源。下面,...
Oracle存储过程是数据库管理系统Oracle中的一种重要特性,用于封装一系列SQL和PL/SQL代码,以实现特定的功能。在Oracle中,存储过程可以提高应用程序的性能,因为它减少了与数据库的交互次数,并允许在数据库级别...
总结,这个例子中展示了Oracle存储过程的基本结构,包括包的创建、过程的定义、游标的使用、条件判断、动态SQL以及异常处理。这些都是在Oracle数据库环境中编写高级逻辑和数据操作时不可或缺的技能。通过理解和实践...
使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...
Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写一系列的SQL和PL/SQL语句,形成一个可重复使用的程序单元。这个“Oracle存储过程案例”提供了丰富的学习材料,帮助用户从入门到精通掌握...
本文将详细介绍Oracle存储过程如何返回结果集的方法,并通过具体的例子进行说明。 #### 二、存储过程返回结果集的原理 在Oracle中,存储过程可以通过引用游标(Ref Cursor)来返回结果集。Ref Cursor是一种特殊...
oracle 存储过程例子 自己写的所有oracle 的if while for
Oracle存储过程是数据库管理系统Oracle中的一种重要特性,它允许开发者编写一组SQL和PL/SQL语句,形成一个可重用的程序单元。存储过程的概念类似于高级编程语言中的模块,通过参数传递来实现数据的交互,体现了模块...
#### Oracle存储过程创建 首先,我们需要在Oracle数据库中创建一个存储过程。以下是一个示例存储过程`pkg_test`的创建脚本: ```sql CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; ...
在.NET环境中,访问Oracle存储过程是一项常见的任务,用于执行数据库中的复杂操作,如数据处理、事务管理和业务逻辑。本文将详细介绍如何使用OracleClient数据提供者在C#中调用存储过程,包括带输入、输出参数的存储...
Oracle存储过程和触发器是数据库管理系统中的重要组成部分,它们在数据处理和业务逻辑实现中扮演着关键角色。本文将深入探讨这两个概念以及它们在实际应用中的使用。 **Oracle存储过程** Oracle存储过程是一组预...
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储...
Oracle 提供了多种方法实现分页查询,下面我们将详细探讨Oracle存储过程中的分页实现。 1. **ROWNUM伪列** 在早期的Oracle版本中,ROWNUM伪列被广泛用于分页。ROWNUM是在结果集生成时自动分配的,表示每一行的顺序...
例如,在上述提供的存储过程中定义了一个名为 `no_result` 的异常,用于处理执行 SQL 语句后没有结果的情况。用户可以通过定义异常来捕捉特定的业务逻辑问题,从而更好地控制程序的执行流程。 #### 1.1.4 用户定义...
`createStoredProcedureQuery()`方法允许我们直接创建一个用于调用存储过程的对象,然后设置输入/输出参数。例如: ```java public QueryResponse queryBill1(String pay_ID) throws Exception { QueryResponse...