create or replace procedure ET(p1 in number,p2 in number , m out number) is
begin
--sql_str := 'insert into TABLE1(LKEY,TKBN) values(111,"758")' ;
-- EXECUTE IMMEDIATE sql_str;
DECLARE
v_title varchar(100);
l_count number ;
--定义游标
l_table1 WL.TABLE1%rowtype;
CURSOR cur_table1(vID number) is
SELECT * FROM WL.TABLE1 where table1.lkey = vID;
BEGIN
--打开游标方法一
/*
OPEN cur_table1(1) ;
--fetch cur_table1 into l_table1 ;
while cur_table1% found loop
l_count := l_count +1 ;
--比较
INSERT INTO TABLE2(ID,TXT) VALUES (l_table1.LKEY, l_table1.TKNB);
commit;
fetch cur_table1 into l_table1 ;
end loop;
*/
-- vs_ym_sn_beg :=
TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_beg,'yyyymm'), -12),'yyyymm');
FOR rec IN cur_table1(1) LOOP
INSERT INTO TABLE2(ID,TXT,DT)
VALUES (rec.LKEY, rec.TKNB,to_char(SYSDATE,'yymmdd'));
commit;
l_count := l_count +1 ;
dbms_output.put_line('插入记录数:'||l_count);
END LOOP;
CLOSE cur_table1;
--dbms_sql.close_cursor(cur_table1); --关闭游标;
END;
EXCEPTION
WHEN OTHERS THEN
BEGIN
dbms_output.put_line(SQLERRM);
rollback;
END;
end ET;
create or replace procedure ET(p1 in number,p2 in number , m out number) is
begin
--sql_str := 'insert into TABLE1(LKEY,TKBN) values(111,"758")' ;
-- EXECUTE IMMEDIATE sql_str;
DECLARE
v_title varchar(100);
l_count number ;
--定义游标
l_table1 WL.TABLE1%rowtype;
CURSOR cur_table1(vID number) is
SELECT * FROM WL.TABLE1 where table1.lkey = vID;
BEGIN
--打开游标方法一
/*
OPEN cur_table1(1) ;
--fetch cur_table1 into l_table1 ;
while cur_table1% found loop
l_count := l_count +1 ;
--比较
INSERT INTO TABLE2(ID,TXT) VALUES (l_table1.LKEY, l_table1.TKNB);
commit;
fetch cur_table1 into l_table1 ;
end loop;
*/
-- vs_ym_sn_beg :=
TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_beg,'yyyymm'), -12),'yyyymm');
FOR rec IN cur_table1(1) LOOP
INSERT INTO TABLE2(ID,TXT,DT)
VALUES (rec.LKEY, rec.TKNB,to_char(SYSDATE,'yymmdd'));
commit;
l_count := l_count +1 ;
dbms_output.put_line('插入记录数:'||l_count);
END LOOP;
CLOSE cur_table1;
--dbms_sql.close_cursor(cur_table1); --关闭游标;
END;
EXCEPTION
WHEN OTHERS THEN
BEGIN
dbms_output.put_line(SQLERRM);
rollback;
END;
end ET;
分享到:
相关推荐
在"ORACLE SIMPLE AQ SAMPLE"中,我们可以通过提供的样例程序了解如何初始化和测试 Oracle AQ 的基本操作。首先,让我们详细探讨一下 Oracle AQ 的核心概念和功能: 1. **消息队列**:Oracle AQ 中的消息队列是存储...
根据提供的文件信息,以下是对“Oracle存储过程”的详细解析及相关知识点: ### Oracle 存储过程概述 存储过程是在数据库中预编译好的一系列 SQL 语句及 PL/SQL 控制结构,可以在数据库服务器端执行,从而提高应用...
标题和描述中提到的核心知识点是关于C#编程中如何向Oracle数据库的存储过程传递表变量。在Oracle数据库中,为了处理复杂的数据结构,可以使用用户自定义类型(User-Defined Type,UDT)。这里,我们将深入探讨这个...
1. **ProC语法**:包括如何声明PL/SQL变量、调用存储过程和函数,以及如何处理错误。 2. **预编译过程**:ProC源代码需要通过预编译器转换为PL/SQL包,然后在数据库中编译和运行。 3. **动态SQL**:ProC支持动态...
在Java中调用Oracle存储过程的方法如下: ```java CallableStatement cs = conn.prepareCall("{ call add_numbers(?,?,?) }"); cs.setInt(1, 10); // 设置第一个输入参数 cs.setInt(2, 20); // 设置第二个输入参数 ...
### Oracle Database Sample Schemas #### 一、概述 在Oracle Database Sample Schemas文档中,主要介绍了Oracle数据库11g Release 2(11.2)版本中的示例模式及其使用方法。这些示例模式为数据库管理员和开发人员...
python-oracledb的源码和使用示例代码, python-oracledb 1.0,适用于Python versions 3.6 through 3.10. Oracle Database; This directory contains samples for python-oracledb. 1. The schemas and SQL ...
本文档总结了 Oracle 数据库开发和设计规范的主要内容,包括命名约定、表名规则、存储过程规则、视图规则、索引规则、序列规则、主键规则和外键规则等。 一、命名约定 Oracle 数据库开发和设计规范中,命名约定是...
### 数据库存储过程的写法及连接各种数据库的方法 #### 概述 本文将详细介绍如何在不同的数据库系统中编写存储过程以及如何建立与这些数据库的连接。存储过程是一种预编译的SQL代码块,它可以存储在数据库服务器上...
在Oracle数据库中,模式是指一组逻辑上相关的对象,如表、视图、索引、存储过程等。示例模式是为了演示特定业务场景而创建的一组预定义的对象,它们通常包含各种数据类型和关系,便于用户理解和探索数据库的特性和...
这些模式包含了各种类型的表、视图、存储过程、触发器、序列和索引,用于演示Oracle数据库的高级功能,如事务处理、查询优化、安全性控制等。Sample Schemas不仅适用于初学者快速上手Oracle数据库,也适用于高级用户...
Oracle Database Sample Schemas 11g Release 2 (11.2) 是Oracle公司提供的一套用于演示和测试目的的数据模型。这些示例模式旨在帮助用户了解如何在Oracle数据库环境中设计、实施和管理复杂的数据库应用。这个文档E...
在Oracle数据库中,"方案"(Schema)是一个非常关键的概念,它相当于数据库中的一个用户空间,包含了该用户的所有对象,如表、视图、索引、存储过程等。在本压缩包"sample_schema_scripts"中,包含了一系列用于创建...
- **创建存储过程**:首先以`SYS`用户身份登录到Oracle数据库,然后创建一个存储过程来实现截断`SYS.AUD$`的功能。 ```sql CREATE OR REPLACE PROCEDURE proc_truncate_aud IS BEGIN EXECUTE IMMEDIATE '...
"Oracle脚本"通常指的是用于创建、修改或管理Oracle数据库对象(如表、视图、索引、存储过程等)的SQL语句集合。这些脚本对于数据库的初始化、数据迁移、性能优化等操作至关重要。"sample_schema_scripts"这个描述...
下面详细介绍有关nbu oracle异机恢复过程中的关键知识点。 首先,了解什么是nbu oracle异机恢复。NetBackup(简称NBU)是Veritas公司提供的一种全面的数据保护解决方案,用于企业级备份、恢复和归档。异机恢复,...
另一种方法是编写存储过程或使用ETL(Extract, Transform, Load)工具,如Oracle的GoldenGate或第三方工具如Informatica,定时执行数据迁移任务。 总之,配置Oracle透明网关访问SQL Server涉及安装、配置多个文件,...
OUI提供了友好的用户界面,使得安装过程更加直观和简便。 #### 三、使用OUI安装Oracle数据库软件 1. **准备工作**: - 确保以具有管理权限的账户登录计算机。 - 将包含Oracle数据库安装文件的CD插入光驱(如果是...
DB存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集,它可以被保存和重复使用,提高了数据库应用的效率和安全性。以下是对PPT学习教案中提到的几个关键知识点的详细说明: 1. **数据类型**:在数据库中...
在Pentaho BI与Oracle集成时,执行SQL脚本通常用于创建数据库对象(如表、视图、存储过程)、初始化数据源或配置调度任务。在给定的文件列表中,我们有三个脚本: - `create_quartz_ora.sql`:Quartz是Pentaho BI中...