oracle 游标的使用
额,一直提起游标就头疼,总感觉是很高大上的东西,望而却步...
今天要做的东西涉及到了实时更新数据,要用到JOB 存储过程 游标
通过在网上查资料,请教同事,也开始继续深入oracle,,,,小菜啊小菜。。。
做个笔记,方便以后查看
CREATE OR REPLACE PROCEDURE COST_MES_SL_INIT_SP_001(P_SYSDATE DATE) IS
V_P_SYSDATE DATE;
V_YEAR NUMBER;
V_MONTH NUMBER;
CURSOR C_FACILITY_ID IS --创建游标
SELECT FACILITY_ID
FROM COST_BASE_FACILITY_VW
WHERE 1 = 1 /* FACILITY_ID IN (SELECT FACILITY_ID
FROM ZZYX_USER_JLMES_FACILITY_TB T
WHERE USER_ID = {$SYS_USERID$})*/
AND U_LOWER = 1
ORDER BY U_ORDER;
R_FACILITY_ID C_FACILITY_ID%ROWTYPE; 定义游标变量,我理解为对象
BEGIN
V_P_SYSDATE := P_SYSDATE;
SELECT ADD_MONTHS(TRUNC(SYSDATE), -1) INTO V_P_SYSDATE FROM DUAL; --获取上个月的日期
V_YEAR := EXTRACT(YEAR FROM V_P_SYSDATE); --年
V_MONTH := EXTRACT(MONTH FROM V_P_SYSDATE);--月
OPEN C_FACILITY_ID;--打开游标
LOOP--开始循环游标
FETCH C_FACILITY_ID
INTO R_FACILITY_ID;
EXIT WHEN C_FACILITY_ID%NOTFOUND;
COST_MES_SL_INIT_SP(R_FACILITY_ID.FACILITY_ID, V_YEAR, V_MONTH); --调用另一个存储过程
END LOOP; --结束循环
CLOSE C_FACILITY_ID; --关闭游标
COMMIT;
END COST_MES_SL_INIT_SP_001;
oracle 游标的使用的更多相关文章
- Oracle 游标示例,带异常处理
Oracle游标示例一则,带异常处理. DECLARE CURSOR c_dl IS SELECT ID, NSRSBH, WSPZXH, ZXYY_DM, HZRQ, SWJG_DM, GXSJ F ...
- Oracle游标带参数
Oracle游标是可以带参数的,而SqlServer的游标就不可以了 create or replace procedure a as cursor b(c_id int)is select * fr ...
- Oracle 游标使用(转)
这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试 ; ; dbms_output.put_line(sql) loop dbms_output.put_line( ; ; ; r_te ...
- Oracle 游标使用全解(转)
转自:http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html 这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试 -- ...
- Oracle游标动态赋值
1. oracle游标动态赋值的小例子 -- 实现1:动态给游标赋值 -- 实现2:游标用表的rowtype声明,但数据却只配置表一行的某些字段时,遍历游标时需fetch into到精确字段 CREA ...
- dapper支持oracle游标
dapper支持oracle游标 Dapper是一个轻型的ORM类.它有啥优点.缺点相信很多朋友都知道了,园里也有很多朋友都有相关介绍,这里就不多废话. 如果玩过Oracle都知道,存储过程基本都是通 ...
- Oracle游标的使用示例
此文是使用Oracle游标的几种方式,for...in会自动打开游标,fetch...into需要手动打开游标,游标类似于一个只会往前移动的指针,每次指向数据集中的一行数据,通过游标可以打开数据集,也 ...
- Oracle游标介绍
Oracle游标使用详解: 游标: 用来查询数据库,获取记录集合(结果集)的指针,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标.要在程序中使用游标,必须 ...
- Oracle游标使用
Oracle游标介绍: --声明游标 CURSOR cursor_name IS select_statement --For 循环游标 --()定义游标 --()定义游标变量 --()使用for循环 ...
- [转载]Oracle 游标使用全解
这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试 -- 声明游标:CURSOR cursor_name IS select_statement --For 循环游标--(1)定义游标- ...
随机推荐
- 如何使用UDP进行跨网段广播(转)
源:如何使用UDP进行跨网段广播 广播域首先我们来了解一下广播域的概念.广播域是网络中能接收任一台主机发出的广播帧的所有主机集合.也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的 ...
- POJ 1862 Stripies
每次合并最大的两个,优先级队列维护一下. 输出的时候%.3lf G++会WA,C++能AC,改成%.3f,都能AC. #include<cstdio> #include<cstrin ...
- NPOI使用Datatable导出到Excel
首先要引用dll 下载地址:http://pan.baidu.com/s/1dFr2m 引入命名空间: using NPOI.HSSF.UserModel;using NPOI.SS.UserMode ...
- “&”详解
1.引用 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. &作为引用的时候,必须在定义时候就进行初始化,若不进行初始化则会编译报错. 2.取地址 &作为取地 ...
- <!DOCTYPE> 声明 引发的错误
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. 在写模板的时候,因为最近开始给每个文件添加注释,无意中将注释写在文件的第一行.导致页面 ...
- BZOJ2318: Spoj4060 game with probability Problem
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #i ...
- iOS 架构模式
参考:http://www.cocoachina.com/ios/20160108/14916.html MVC , MVP , MVVM , VIPER
- Swift 动态创建提示框
var alert = UIAlertController(title: "", message: "", prefferedStyle: UIAlertCon ...
- 笔记整理——Linux下C语言正则表达式
Linux下C语言正则表达式使用详解 - Google Chrome (2013/5/2 16:40:37) Linux下C语言正则表达式使用详解 2012年6月6日Neal627 views发表评论 ...
- js 如何判断鼠标点击事件还是js代码调用
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...