zoukankan      html  css  js  c++  java
  • oracle 表 视图 存储过程 序列 job

    table 表
    --delete table
    drop table Test1;
    -- Create table
    create table TEST1
    (
      ID     NUMBER,
      T_NAME VARCHAR2(100),
      DT     DATE
    );
    -- 添加注释
    comment on column TEST1.T_NAME is '名称';
    --添加age字段
    alter table Test1 add (age  NUMBER(8));
    --删除字段
    alter table TABLE_NAME drop column COLUMN_NAME;
    --修改字段数据类型
    alter table tablename modify filedname varchar2(20);

    view 视图
    ---删除视图
    drop view v_viewName;
    ---创建视图
    create or replace view v_viewName
    as
    select * from tableName
    with read only;

    sequence 序列
    create sequence RUN_LOG_SEQ
    minvalue 1
    maxvalue 9999999999999999999999999999
    start with 1--从1开始计数
    increment by 1--每次加1
    cache 20;
    使用run_log_seq.nextval

    index 索引
    ---删除索引
    drop index indexName 
    ---创建索引
    create index indexName ON tableName (columnName);

    procedures 存储过程
    --定义参数
    CREATE OR REPLACE PROCEDURE pro_test(yyyy_mm_s date,yyyy_mm_e date) IS
    var_b_time DATE;--定义变量 
    BEGIN
    --游标循环
    for v in (
    select sysdate t from DUAL
    ) loop
     
    --业务处理...
    var_b_time:=v.t;
     
    end loop;
    --提交
    commit;
    END;

    funcations 函数
    --par_master_bill_id参数
    CREATE OR REPLACE FUNCTION get_testFunction(par_master_bill_id VARCHAR2) 
    RETURN varchar2 IS
    PRAGMA AUTONOMOUS_TRANSACTION;
    ret_value    VARCHAR2(100);--返回值
    BEGIN
     
       select sysdate||par_master_bill_id into ret_value from DUAL;
     
       RETURN ret_value;
     
    END get_testFunction;--函数名结束
    使用如下:
    select get_testFunction('hello') from DUAL;

    job 定时任务
    delete hk_amast_list;
    --查询所有定时器
    SELECT * FROM ALL_JOBS;
    --删除job
    begin
    dbms_job.remove(9);--先查询定时器id
    end;
    --创建定时器
    declare 
    job number; 
    begin 
    dbms_job.submit(job, 'p_amastList;', sysdate, 'TRUNC(SYSDATE+1)+(1*60+30)/(24*60)'); 
    end
    commit;
     
    select t.* from t_test t;
     
    --'TRUNC(SYSDATE+1)+(1*60+30)/(24*60)' 每天凌晨1:30执行一次
    --例如:每天的凌晨2点执行Interval => TRUNC(sysdate) + 1 +2 / (24)
    --每天早上8点30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
    --每分钟执行一次'TRUNC(sysdate,''mi'')+1/(24*60)'

    merge
    merge into TEST2 t2
    using (
    select t1.id,t1.t_name,t1.dt from TEST1 t1
    ) t1 on(t2.id=t1.id and t2.t_name=t1.t_name)
    when matched then
    update set t2.t_name=t1.t_name,t2.dt=t1.dt
    when not matched then
    insert (id,t_name,dt)
    values(t1.id,t1.t_name,t1.dt);
    commit;
     
    关注我的微信共享学习,讨论更多技术知识
  • 相关阅读:
    链表10-开发可用链表(使用链表)
    LRU简单实现
    图片服务器搭建过程
    scp
    dubbo-admin无法访问
    linux tomcat启动后无法访问
    linux进程端口防火墙
    centos7 jdk
    com.alibaba.dubbo.rpc.RpcException: Fail to start server(url: dubbo://192.16。。
    linux与Unix切换到root用户
  • 原文地址:https://www.cnblogs.com/liyuan3210/p/6429457.html
Copyright © 2011-2022 走看看