• 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;
     
    关注我的微信共享学习,讨论更多技术知识
  • 相关阅读:
    Azure HPC Pack Cluster添加辅助节点
    Azure HPC Pack 辅助节点模板配置
    Azure HPC Pack配置管理系列(PART6)
    Windows HPC Pack 2012 R2配置
    Azure HPC Pack 节点提升成域控制器
    Azure HPC Pack VM 节点创建和配置
    Azure HPC Pack 部署必要条件准备
    Azure HPC Pack 基础拓扑概述
    Azure VM 性能计数器配置
    Maven私仓配置
  • 原文地址:https://www.cnblogs.com/liyuan3210/p/6429457.html
Copyright © 2020-2023  润新知