ORACLE----触发器,存储过程及JOB
一、Oracle中创建自增的ID字段
1、创建序列
create *sequence_name* increment by 1 start with 1 maxvalue 999999999;
2、创建触发器---(创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE)
create or replace trigger *triger_name*
before insert on *table_name*
referencing old as old new as new for each row
begin
select *sequence_name.nextval into :new.id from dual;
end;
/
二、ORACLE中JOB的应用
1、创建存储过程
create or replace procedure *pro_name
as
begin
insert into agri_exhibition_basecur (messid,title,type,pub_date) select id,title,sort,pub_date from agri_message where (trunc(sysdate-pub_date)=0 and rownum<6) and sort='供' ;
insert into agri_exhibition_basecur (messid,title,type,pub_date) select id,title,sort,pub_date from agri_message where (trunc(sysdate-pub_date)=0 and rownum<6) and sort='求' ;
end;
/
2、创建JOB
variable jobdxm number;
begin
dbms_job.submit(:jobdxm,'exhi_pro_dxm;',sysdate,'trunc(sysdate,''dd'')+32.5/24');
end;
三、收集的一个简单的JOB实列
1、创建测试表
SQL> create table a(a date);
表已创建。
2、创建一个自定义过程
SQL> create or replace procedure test as
2 begin
3 insert into a values(sysdate);
4 end;
5 /
过程已创建。
3、创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
3 end;
4 /
PL/SQL 过程已成功完成。
4、运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
PL/SQL 过程已成功完成。
SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from a;
时间
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24
5、删除JOB
SQL> begin
2 dbms_job.remove(:job1);
3 end;
4 /
PL/SQL 过程已成功完成。
6、一些必要的参数
修改initsid.ora参数
job_queue_processes = 4
job_queue_interval = 10
job_queue_keep_connections=true
修改可执行作业个数为20个
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20
修改取消限制模式
ALTER SYSTEM DISABLE RESTRICTED SESSION;
7、两个必要的表
user_jobs及dba_jobs_running
8、相关的几个JOB操作
删除job:dbms_job.remove(jobno);
修改要执行的操作:job:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
启动job:dbms_job.run(jobno);
转载地址:http://blog.csdn.net/cicada688/article/details/7077730
ORACLE----触发器,存储过程及JOB的更多相关文章
- oracle触发器和存储过程的格式
最近接到一个任务要根据一个表来转移另一个表的数据到第三个表.想了想,用决定用触发器+存储过程的方式来做.有些时间没有写存储过程和触发器了,查了一下资料,确定了oracle的触发器和存储过程的格式. 触 ...
- Oracle 触发器在日志管理开发中的应用
摘要: 本文讨论了利用数据库中的触发器对日志管理进行设计与实现的方法, 是对原来在客户端软件中编写日志管理方法的一种改进, 并给出了 Oracle9i 中的实例演示.关键词: Oracle; 触发器; ...
- oracle触发器应用
首先给大家推荐两篇我看后的博文,我已经内容转载过来: 1.对触发器的讲解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建 ...
- Oracle 触发器(二)
Oracle触发器详解 触发器是许多关系数据库系统都提供的一项技术.在oracle系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 8.1 触发器类型 触发器在数据库里 ...
- 问题:Oracle出发器;结果:1、Oracle触发器详解,2、Oracle触发器示例
ORACLE触发器详解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创 ...
- oracle 触发器,序列,索引
oracle 触发器,序列,索引 --1,触发器 ----trigger /*触发器是一种特殊的存储过程,它与数据表紧密联系,用于保护表中的数据, 当一个定义了特定类型触发器的基表执行插入.修改或删除 ...
- 2014/11/06 Oracle触发器初步 2014-11-06 09:03 49人阅读 评论(0) 收藏
触发器我就不多解释了,保证数据的完整性的神器,嗯..也是减少程序员工作托管给数据库操作的好帮手.就不讲一些大道理了.通俗点,我们对数据库的操作,无非就是增 删 改 查. 触发器就是在删,改,增的时候( ...
- Mysql 视图 游标 触发器 存储过程 事务
Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中 ...
- oracle触发器加条件判断
oracle触发器加条件判断,如果某个字段,isnode=0,那么不执行下面的方法,数据如下: create or replace trigger tr_basestation_insert_emp ...
- PB中用oracle的存储过程返回记录集做数据源来生成数据窗口,PB会找不到此存储过程及不能正常识别存储过程的参数问题(转)
(转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. ...
随机推荐
- asio 广播代码示例
代码网络收集 修改了一个编译的小问题 客户端 // Client.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...
- 第一个Django应用
Django教程:http://www.liujiangblog.com/course/django/2 第一个Django应用 该应用包括以下两个部分: 一个可以让公众用户进行投票和查看投票结果的站 ...
- hadoop学习笔记(四):hdfs常用命令
一.hadoop fs 1.创建目录 [root@master hadoop-]# hadoop fs -mkdir /testdir1 [root@master hadoop-]# hadoop f ...
- gj5 自定义序列类
5.1 序列类型的分类 容器序列 list.tuple.deque扁平序列[同一种数据类型] str.bytes.bytearray.array.array可变序列 list, deque,by ...
- py-opp 类(class)
类的创建 class 类名: pass class Bar: def foo(self,arg): # self ,是传的实例对象, print('self:',self,arg) #因为类属性和方法 ...
- 新建maven web 项目后,出现的小问题
问题一:Description Resource Path Location TypeCannot change version of project facet Dynamic Web Module ...
- Linux中的LVM和软RAID
在实际工作中,会经常碰到所给的服务器硬盘容量太小,而实际的应用软件中却需要一个容量较大的分区进行数据存储等,除了通过硬件RAID卡来实现合并多硬盘外,其实我们也可以通过软件的方式来实现. 实验 ...
- 机器学习---K最近邻(k-Nearest Neighbour,KNN)分类算法
K最近邻(k-Nearest Neighbour,KNN)分类算法 1.K最近邻(k-Nearest Neighbour,KNN) K最近邻(k-Nearest Neighbour,KNN)分类算法, ...
- 逆着得最长路POJ1797
POJ1797点击打开链接 这个题很是不错我感觉 很容易把这个题和上一个青蛙跳的题联系起来做,我也确实联系起来了,可还是没能完整得Ac,是因为我的算法思路还是最短路,这里错了 这个题目得要求是,从1到 ...
- line tension
<!DOCTYPE html> <html> <head> <title>tension</title> <script type=& ...