写了个简单的job

首先建表,还有序列:

-- Create table
create table MYDAILYDK
(
  dkproint NUMBER not null,
  week     VARCHAR2(100) not null,
  dktime   DATE not null,
  name     VARCHAR2(255) not null,
  id       NUMBER not null
)
tablespace SYSTEM
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );
-- Add comments to the columns 
comment on column MYDAILYDK.dkproint
  is '打卡得分';
comment on column MYDAILYDK.week
  is '打卡日期(星期)';
comment on column MYDAILYDK.dktime
  is '打卡时间';
comment on column MYDAILYDK.name
  is '打卡人姓名';
comment on column MYDAILYDK.id
  is '主键id';
-- Create/Recreate primary, unique and foreign key constraints 
alter table MYDAILYDK
  add constraint ID primary key (ID)
  using index 
  tablespace SYSTEM
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );

-- Create sequence 
create sequence S_MYDAILYDK
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache
order;

然后,获取当前是星期几的函数:

create or replace function getcurrentday return varchar2

/**
description 获取当前日期的函数
return 当前的星期  是周几
the day 2016-12-12
*/
is
currentday varchar2(50);
begin

select decode(to_char(sysdate-1, 'd'),1,'星期一',2,'星期二',3,'星期三',4,'星期四',5,'星期五',6,'星期六',7,'星期天') into currentday
from dual;
return currentday;

end;

判断是不是周末的函数,如果是周末,则不进行打卡。

create or replace function isweekend return Boolean

/**
description 获取当前日期的函数
return true or false
如果是工作日则 return true ,else return false
*/
is
currentday varchar2(50);
isweekend Boolean;
begin

select to_char(sysdate-1, 'd') into currentday
from dual;
 if currentday = 6 or currentday = 7 then
 isweekend := true;
 else
 isweekend := false;
 end if;
return isweekend;

end;

打卡job要跑的存储过程:

create or replace procedure mbproc_mydailydk

as
-- description to record the daily work automitic
begin
if isweekend = false then
insert into mydailydk(id,name,dktime,currentday,Dkponit)
values(s_madailydk.nextval,'wendy',sysdate,getcurrentday,trunc(dbms_random.value(1,101)));
commit;
end if;
end;

手动调用执行job:

  begin
  dbms_job.run(1);
  end;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

Lucene:QueryParser中操作符的疑惑

晚上在测试Lucene搜索时,对于 AND 与 + 的区别研究了下 索引库中有四条记录,分别是 no:300900002071 name:情侣装*休闲女装 ...

1999
来自专栏大内老A

谈谈你最熟悉的System.DateTime[上篇]

最近一直在负责公司内部框架的升级工作,今天对一个小问题进行了重新思考——时间的处理。具体来说,是如何有效地进行时间的处理以提供对跨时区的支持。对于一个分布式的应...

1789
来自专栏二进制文集

LeetCode 477 Total Hamming Distance

The Hamming distance between two integers is the number of positions at which th...

1023
来自专栏小樱的经验随笔

2017"百度之星"程序设计大赛 - 资格赛【1001 Floyd求最小环 1002 歪解(并查集),1003 完全背包 1004 01背包 1005 打表找规律+卡特兰数】

度度熊保护村庄 Accepts: 13 Submissions: 488 Time Limit: 2000/1000 MS (Java/Others)...

3283
来自专栏desperate633

LeetCode 121. Best Time to Buy and Sell Stock题目Solution

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。 样例 给出一...

593
来自专栏james大数据架构

你真的会玩SQL吗?实用函数方法汇总

你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接、外连接 你真的会玩SQL吗?三范式、数据完整性 你真...

1899
来自专栏数据结构与算法

P3381 【模板】最小费用最大流

题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。 输入输出格式 输入格式: 第...

3287
来自专栏数据结构与算法

P1967 货车运输

题目描述 A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想...

3169
来自专栏LeetCode

LeetCode 191. Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of '1' bi...

450
来自专栏码匠的流水账

redis的GEO实战

时间复杂度为O(N+log(M)),N为指定半径范围内的元素个数,M为要返回的个数

721

扫码关注云+社区