- 浏览: 227614 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
helloyz8773:
您好,不知道您是否了解BIEE在IPHONE上的应用,他是否支 ...
oracle biee -
hbmy_1:
对,这些例子的文档哪里能找到呢
学习essbase总结 -
greathjt:
请问,您有例子文档吗?
学习essbase总结 -
corsair5iam:
很好,赞一个,如果能分享一下“inputclass”,“sug ...
jquery 输前显示 ajax 输入框提示 仿Google Suggest的例子 -
westlwt:
附件???
第三方支付接口,银行接口(附下载),third party bank interface
1。第一个: 这是一个简单的把一条数据插入到某一个表中的sql
执行: exec p_test;
2。第二个: 是从一个表中查出来多条数据,然后把这多条数据通过循环插入到某一个表中
执行: exec p_test;
3。 第三个: 两个游标的写法,并且第二个游标是带参数的.
执行: exec p_test;
4。带参数的存储过程(完整版)。
执行: exec p_test('2009-01-01','2009-10-01');
执行: exec p_test;
CREATE OR REPLACE PROCEDURE p_test is v_id TJ_JTCD.Id%TYPE; v_zgrs TJ_JTCD.ZGRS%TYPE; v_qys TJ_JTCD.QYS%TYPE; v_date TJ_JTCD.Createdate%TYPE; CURSOR c_emp IS SELECT 2,1,1,sysdate FROM dual; --这里创建了一个游标 c_emp BEGIN OPEN c_emp; --打开这个游标 LOOP --做循环 FETCH c_emp INTO v_id,v_zgrs,v_qys,v_date; EXIT WHEN c_emp%NOTFOUND; --当没有结果集以后,就结束循环 insert into tj_jtcd values(v_id,v_zgrs,v_qys,v_date); END loop; end p_test;
2。第二个: 是从一个表中查出来多条数据,然后把这多条数据通过循环插入到某一个表中
执行: exec p_test;
CREATE OR REPLACE PROCEDURE p_test is v_id TJ_JTCD.Id%TYPE; --v_zgrs TJ_JTCD.ZGRS%TYPE; --v_qys TJ_JTCD.QYS%TYPE; v_date TJ_JTCD.Createdate%TYPE; CURSOR c_emp IS select t.wgno from p_wginfo t where t.wgtype = 3; --SELECT 2,1,1,sysdate FROM dual; --这里创建了一个游标 c_emp BEGIN OPEN c_emp; --打开这个游标 LOOP --做循环 FETCH c_emp INTO v_id; --,v_zgrs,v_qys,v_date; EXIT WHEN c_emp%NOTFOUND; --当没有结果集以后,就结束循环 insert into tj_jtcd values(tjfx_sequence.nextval,1,1,v_date,v_id); END loop; commit; end p_test;
3。 第三个: 两个游标的写法,并且第二个游标是带参数的.
执行: exec p_test;
CREATE OR REPLACE PROCEDURE p_test is -- v_id TJ_JTCD.Id%TYPE; v_wgno tj_jtcd.wgno%type; v_zgrs tj_jtcd.zgrs%type; v_qys tj_jtcd.qys%type; v_ny tj_jtcd.ny%type; CURSOR c_emp --游标1 IS select t.wgno from p_wginfo t where t.wgtype = 3; CURSOR c2 --游标2 IS select 1,1,'1' --sum(y.zgzs) as zgrs, count(*) as qys,to_char(to_date(y.lhrq, 'yyyy-mm-dd'), 'yyyy-mm') as ny from dual d ; --where y.id in(select b.zjj_id from b_Laodj_Jtcd b where b.ent_id in (select c.ent_id from c_ygdw c where 1 = 1)) group by to_char(to_date(y.lhrq, 'yyyy-mm-dd'), 'yyyy-mm'); BEGIN OPEN c_emp; --打开游标1 LOOP --做循环 FETCH c_emp INTO v_wgno; --,v_zgrs,v_qys,v_date; EXIT WHEN c_emp%NOTFOUND; --当没有结果集以后,就结束循环 open c2; LOOP fetch c2 into v_zgrs,v_qys,v_ny; EXIT WHEN c2%NOTFOUND; insert into tj_jtcd(id,zgrs,qys,createdate,wgno,ny) values(tjfx_sequence.nextval,v_zgrs,v_qys,sysdate,v_wgno,v_ny); --插入数据 end loop; close c2; END loop; CLOSE c_emp; commit; end p_test;
4。带参数的存储过程(完整版)。
执行: exec p_test('2009-01-01','2009-10-01');
CREATE OR REPLACE PROCEDURE p_test(stime in varchar2,etime in varchar2) --创建带参数的存储过程 is --以下定义了四个变量,由于这些变量赋值后要插入到tj_jtcd这个表中所以类型都要定义成一致 v_wgno tj_jtcd.wgno%type; v_zgrs tj_jtcd.zgrs%type; v_qys tj_jtcd.qys%type; v_ny tj_jtcd.ny%type; CURSOR c_wgno --游标1 取得所有的网格编号 共有95条 IS select t.wgno from p_wginfo t where t.wgtype = 3; CURSOR c_data(wgid varchar2) --游标2 这是一个带参数的游标,这个参数是从第一个网格中取得,并且作为这个查询中的一个条件 IS select nvl(sum(y.zgzs),0) as zgrs, nvl(count(*),0) as qys,to_char(to_date(y.lhrq, 'yyyy-mm-dd'), 'yyyy-mm') as ny from y_laodj_jtcd y where to_date(y.lhrq,'yyyy-mm-dd') between to_date(stime,'yyyy-mm-dd') and to_date(etime,'yyyy-mm-dd') and y.id in(select b.zjj_id from b_Laodj_Jtcd b where b.ent_id in (select c.ent_id from c_ygdw c where 1 = 1 and c.wgno = wgid)) group by to_char(to_date(y.lhrq, 'yyyy-mm-dd'), 'yyyy-mm'); BEGIN OPEN c_wgno; --打开游标1 LOOP --做循环 FETCH c_wgno INTO v_wgno; --对遍历游标1中的值 EXIT WHEN c_wgno%NOTFOUND; --当没有结果集以后,就结束循环 open c_data(v_wgno); --打开游标c2 LOOP fetch c_data into v_zgrs,v_qys,v_ny; --遍历游标2里的值 EXIT WHEN c_data%NOTFOUND; --以下是执行插入操作,插入的值来自于游标1,2中遍历的值 insert into tj_jtcd(id,zgrs,qys,createdate,wgno,ny) values(tjfx_sequence.nextval,v_zgrs,v_qys,sysdate,v_wgno,v_ny); --插入数据 end loop; --结束循环,并关闭游标2 close c_data; END loop; --结束循环,并关闭游标1 CLOSE c_wgno; commit; --事务处理 提交 (这里有待完善) end p_test;
发表评论
-
Oracle创建表空间、创建用户以及授权、查看权限
2014-12-23 13:48 7241. 创建临时表空间 CREATE TEMPORARY T ... -
Oracle创建表空间、创建用户以及授权、查看权限
2014-12-23 13:48 5461. 创建临时表空间 CREATE TEMPORARY T ... -
Oracle 创建只读用户权限
2014-11-26 18:15 1011create user 你的用户名 identified by ... -
oracle 密码过期
2014-09-24 11:37 558使用sqlplus登陆oracle数据库时提示“ORA-280 ... -
Oracle 常用DBA SQL
2014-09-02 18:02 630Oracle查询表空间使用情况 --查询表空间使用情况 ... -
创建表空间和用户命令
2014-07-28 12:35 417--表空间 CREATE TABLESPACE bieew ... -
累计数据的SQL写法
2014-02-19 20:14 1202在常常会用到 ... -
按日期循环累计字段的更新存储过程
2014-02-13 10:30 594create or replace procedure upd ... -
oracle 正则表达式
2013-07-26 14:31 8361. 有哪些是目前质检体系发现不了的问题(发生过,只是 是没有 ... -
oracle em 出现问题
2013-07-26 09:28 8171) Set the environment varia ... -
oracle em启动出问题时解决办法(可能是办为密码过期原因导致)
2013-07-24 15:24 11011) Set the environment variabl ... -
oracle 正则表达式
2013-07-01 18:23 718select * from ( select t ... -
oracle 数据库优化
2013-04-16 18:07 664http://blog.csdn.net/tianlesoft ... -
Linux安装sqlplus及shell查询数据库
2013-04-16 10:20 6147下载rpm文件,安装orcacle ... -
oracle sqlplus
2013-04-15 15:59 1020一、ORACLE的启动和关闭 1、在单机环境下要想启动或关闭O ... -
分区drop
2013-04-09 18:26 788alter table fact_bug_report_det ... -
ORACLE EXPDP命令使用详细
2013-04-09 18:13 908ORACLE EXPDP命令使用详细 相关参数以及导出示例: ... -
Oracle 数据库数据导出dump方式
2013-02-28 17:53 12819linux下 [root@infodb111 ~]# ... -
当前日期的周日日期如何取得
2013-02-28 10:45 857update DIM_TIME f set f.f ... -
linux Oracle 表空间满后如何解决
2013-02-23 13:34 907alter tablespace MAXTHONBI add ...
相关推荐
在本篇“Oracle存储过程学习笔记(四)”中,我们将深入探讨存储过程的概念、创建、执行以及在实际应用中的优势。 1. **存储过程的概念** 存储过程是一组预先编译的SQL和PL/SQL语句,存储在数据库服务器中。当需要...
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字
oracle存储过程 基础知识大全 oracle存储过程分享 实用指数五颗星哈
oracle笔记存储函数和存储过程,有具体的代码案例!存储函数和存储过程的知识笔记!
标题中提到的“ORACLE DBA工作笔记 运维数据迁移与性能调优”揭示了这本书籍主要围绕着Oracle数据库管理员(DBA)在日常工作中经常需要进行的两项关键任务:数据迁移和性能调优。作为一名Oracle DBA,不仅要负责...
这份"oracle笔记(存储过程函数触发器游标流程控制等)"涵盖了Oracle数据库管理中的关键知识点,包括但不限于以下几个方面: 1. **存储过程与函数**:存储过程是预编译的SQL语句集合,用于执行特定任务。它们可以提高...
Oracle 的 System Global Area(SGA)是 Oracle 实例的内存结构,用于存储数据库的各种信息。查看 SGA 信息可以帮助 DBA 了解数据库的当前状态,例如,查看 SGA 的大小、使用情况、共享池的大小等。 3. 查看命中率...
Oracle数据库是世界上最流行的数据库管理系统之一,广泛应用于企业级的数据存储和管理。韩顺平的“玩转Oracle”视频教程旨在帮助学习者掌握Oracle的核心概念和技术。以下是对视频教程笔记的详细解析: 首先,Oracle...
文件“som_sto_b.pbl”和“som_sto_d.pbl”可能是某种工具的二进制文件,它们可能与Oracle存储管理或迁移过程中的特定步骤有关。在Oracle环境中,"pbl"扩展名并不常见,但它们可能属于某个定制的存储管理工具或脚本...
其次,笔记可能会深入到Oracle的高级特性,比如PL/SQL编程,这是一种专为Oracle设计的过程化编程语言,用于创建存储过程、函数、触发器等。此外,可能还会涵盖数据库事务处理、并发控制和锁机制,这些都是保证数据...
以下是对Oracle数据库课堂笔记的详细解析,涵盖了从基础到进阶的重要知识点。 第一讲:Oracle简介 Oracle数据库是由甲骨文公司开发的,提供了一整套数据存储、管理和检索解决方案。它支持多种操作系统和硬件平台,...
plsql创建存储过程并创建job定时任务执行详细笔记文档总结 在 Oracle 中,plsql 是一种强大的编程语言,可以用来创建存储过程和定时任务执行。在本文中,我们将详细介绍如何使用 plsql 创建存储过程并创建 job 定时...
PL/SQL是Oracle的存储过程语言,结合了SQL和过程式编程。它可以创建存储过程、函数、触发器等,实现复杂的业务逻辑和数据库控制。 九、事务处理 在Oracle中,事务是一组SQL语句,被视为一个工作单元。事务处理包括...
### Oracle原厂培训笔记知识点概览 #### 一、Oracle认证体系介绍 - **OCA (Oracle Certified Associate)**: 入门级别的Oracle认证,适用于具备基本Oracle技能的专业人士。 - **OCP (Oracle Certified Professional)...
存储过程是Oracle数据库中预编译的SQL语句集合,可以视为可重复使用的功能模块。通过创建存储过程,我们可以提高代码复用性,减少网络通信,提升系统性能。存储过程可以包含输入、输出参数,甚至可以有返回值。在...
* Oracle 数据库是关系型数据库管理系统,支持 SQL 语言,用于存储和管理大量数据。 * Oracle 数据库的核心组件包括 Database、Instance、Schema 等。 二、数据类型 * Oracle 数据库支持多种数据类型,包括数字...
《涂抹Oracle - 三思笔记之一步步学Oracle》是一本旨在深入浅出地教授Oracle数据库技术的书籍。源代码部分提供了配合书本学习的实际操作示例,帮助读者更直观地理解Oracle数据库的工作原理和操作技巧。以下是根据...
这是基于oracle数据库存储过程,初学者可以参考,是很好的笔记素材,下载一个Typora编辑器即可产看编辑