oracle 存储过程基础
create or replace procedure update_CarryoverArchivers(bizsysname in varchar,
year in number default 2015) is
begin
declare
num number;
objSql varchar(1000);
i number;
begin
num := -1;
select count(*) into num from bd_doc_type where iyear = year;
if num >= 1 then
null;
end if;
if num = 0 then
objSql := 'insert into BD_DOC_TYPE select sdoc_type_code,sdoc_type_name,sshort_text,smudole,' || year ||
',stype,sprinttemplatecode, ''' || year ||
'/01/01 16:51:32'' from BD_DOC_TYPE where iyear=' ||
to_char(year - 1);
/*dbms_output.put_line(objSql);*/
execute immediate objSql;
end if;
num := -1;
select count(*) into num from sm_billtype where iyear = year;
if num >= 1 then
null;
end if;
if num = 0 then
objSql := 'insert into sm_billtype select scode,sname,sbilltypetitle,' || year ||
',''' || year ||
'/12/12 15:03:40'' from sm_billtype where iyear=' ||
to_char(year - 1);
/* dbms_output.put_line(objSql);*/
execute immediate objSql;
end if;
num := -1;
select count(*) into num from bd_fyearstruct_m where iyear = year;
if num >= 1 then
null;
end if;
if num = 0 then
objSql := 'insert into ' || bizsysname || '.BD_FYEARSTRUCT_M (IYEAR, DY_STARTDATE, DY_ENDDATE, IPERIODNUM, BCLOSED, BACTIVEYEAR, TS)
values (' || year || ', ''' || year || '0101'', ''' || year ||
'1231'', 12, ''n'', ''Y'', ''' || year ||
'/01/01 20:33:38'')';
dbms_output.put_line(objSql);
execute immediate objSql;
dbms_output.put_line('xxx');
end if;
num := -1;
i := 1;
select count(*) into num from bd_fyearstruct_s where iyear = year;
if num >= 1 then
null;
end if;
if num = 0 then
while i <= 12 loop
objSql := ' insert into ' || bizsysname || '.BD_FYEARSTRUCT_S (SPERIODCODE, IYEAR, DP_BEGINDATE, DP_ENDDATE, SPERIODNAME, BCLOSED, BACITVE, TS)
values (''' || year || '-0' || to_char(i) || ''',' || year ||
', ''' || year || '0' || to_char(i) ||
'01'',to_char(add_months(to_date(''' || year || '0' || to_char(i) ||
'01'', ''yyyymmdd''), 1)-1,''yyyymmdd''),''第' || to_char(i) ||
'期'', ''N'', null, ''1999/05/25 11:33:53'') ';
dbms_output.put_line(objSql);
execute immediate objSql;
i := i + 1;
end loop;
end if;
num := -1;
select count(*) into num from sm_billrule where iyear = year;
dbms_output.put_line(num);
if num >= 1 then
null;
end if;
if num = 0 then
objSql := 'insert into sm_billrule select SID, SBILLTYPECODE, BIFSHOWBILLTITLE, BYEAR, BMONTH, BDAY, BIFORDERNUMBER, INUMBERLEN, BIFSHOWOBJID, SPERIODCODE, SCORPCODE,' || year ||
' from sm_billrule where iyear=' || to_char(year - 1);
dbms_output.put_line(objSql);
execute immediate objSql;
end if;
commit;
Exception
When others then
dbms_output.put_line('你出错了'||sqlcode||sqlerrm);
Rollback;
end;
end update_CarryoverArchivers;
---------
存储过程的执行
begin
update_CarryoverArchivers;
end;
oracle 存储过程基础的更多相关文章
- oracle 存储过程 基础
差不多一年没写过存储过程,最近要写,发现基本忘了,google一番之后,觉得很有必要把基础的东西写下来备忘. 语句块定义: decalre -- 变量声明 var1 ); -- 仅声明 var2 ) ...
- Oracle存储过程基础
http://blog.sina.com.cn/s/blog_67e424340100iyg1.html
- Oracle 存储过程学习笔记
1.存储过程简单实例 CREATE OR REPLACE PROCEDURE 存储过程名称 (参数in,参数out) AS -- 变量声明,每个声明用分号结束.可以在声明的同时初始化 name ); ...
- Oracle存储过程基本语法及基础教程
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- oracle存储过程实例
oracle存储过程实例 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的P ...
- [转]使用ADO.NET访问Oracle存储过程
本文转自:http://www.cnblogs.com/datasky/archive/2007/11/07/952141.html 本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程( ...
- oracle存储过程的例子
oracle存储过程的例子 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的 ...
- Crontab定时执行Oracle存储过程
Crontab定时执行Oracle存储过程 需求描述 我们有一个Oracle的存储过程,里面是每个月需要执行一下,生成报表,然后发送给业务部门,这一个功能我们有实现在系统的前台界面(如图1-1),但是 ...
随机推荐
- Hadoop虽然强大,但不是万能的(CSDN)
Hadoop很强大,但企业在使用Hadoop或者大数据之前,首先要明确自己的目标,再确定是否选对了工具,毕竟Hadoop不是万能的!本文中列举了几种不适合使用Hadoop的场景. 随着 Hadoop ...
- UVA 11235 (游程编码+ST算法)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23846 题目大意:给定一个升序序列,有q次询问,每次询问(L,R) ...
- C#可以获取Excel文件中Sheet的名字
C#可以获取Excel文件中Sheet的名字吗 C#可以获取Excel文件中Sheet的名字吗 我试过WPS的表格可以 可以 要代码么 百度都有 [深圳]Milen(99696619) 14:13: ...
- 解决javax.imageio.IIOException: Can't create output stream!
解决javax.imageio.IIOException: Can't create output stream! javax.imageio.ImageIO.write(image, "J ...
- MatLab GUI Use Command for Debug 界面调试的一些方法
在MatLab的GUI界面编程,我们在调试的时候需要打印出一些变量,那么介绍下我用到的两种调试方法: 第一种,使用弹出对话框来打印变量,要注意的是打印的东西必须是string类型的,所以其他类型的变量 ...
- 配置SMarty解析
在 common/main.php中配置 View 组件 'view' => [ 'renderers' => [ 'tpl' => [ 'class' => 'yii\sma ...
- Linux 计划任务 Crontab 笔记与总结(2)Crontab 的基本组成与配置
[Crontab 的基本组成] ① 系统服务 CROND:每分钟都会从配置文件刷新定时任务 ② 配置文件 :文件方式设置定时任务 ③ 配置工具 crontab:用途调整定时任务 [配置文件的配置文件格 ...
- 【FFXV】中物理模拟的结构以及游戏业界的乐趣
11月2日是在日本兵库县神户会议中心召开的[SIGGRAPH ASIA 2015]的第一天,在游戏开发专门的研究会[R&D in the Video Game Industry]上,展开了[F ...
- VR制作的规格分析
因为UE4的演示资源更丰富一些,我这边把UE4的有代表性的演示都跑了一遍,同时也通过Rift确认效果,和里面的资源制作方式. 首先,UE4是基于物理渲染的引擎,大部分都是偏向图像真实的.使用的材质 ...
- 推荐!国外程序员整理的 PHP 资源大全
推荐!国外程序员整理的 PHP 资源大全 2014/08/02 · PHP, 工具与资源 · 8.5K 阅读 · 1 评论· php 分享到:0 与<YII框架>不得不说的故事—安全篇 R ...