oracle 表 视图 存储过程 序列 job
2024-08-26 13:45:12
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;
最新文章
- JS_ECMA基本语法中的几种封装的小函数-1
- 为什么匿名内部类和局部内部类只能访问final变量
- 关于URL编码/javascript/js url 编码
- myBatis 实现用户表增删查改操作<;方法2 加入接口>;(最终版)
- 读书笔记:7个示例科普CPU Cache
- cocos2d-x 纹理深入研究
- ASP.NET-FineUI开发实践-13(一)
- CSS3圆角详解
- ShapeDrawable 资源
- Word Ladder 解答
- 11-3URLTestDemo实例操作完成URL单元测试
- 13个不可不知的ASP.NET MVC扩展点
- AjaxPro.AjaxMethod 简单应用,
- git pull以及git pull --rebase
- NLP入门(六)pyltp的介绍与使用
- 从零开始学安全(三十三)●Ununtu16 LMAP 环境搭建
- 跟随我在oracle学习php(12)
- java 中的包概念
- nginx default_server的作用
- leetcode240
热门文章
- 简单易懂的VS-CODE C++环境配置(ACM向)
- 1140 Look-and-say Sequence (20 分)
- 用 Koa 提供 Restful service 和查询 MongoDB 的例子
- JUnit学习之hamcrest、testSuite介绍及测试原则
- 【网络】CCNA实验一:Vlan、Trunk
- Java基础23-main方法
- 如何发布一个包到npm &;&; 如何使用自己发布的npm包 &;&; 如何更新发布到npm的package &;&; 如何更新当前项目的包?
- SpringBoot - 工程搭建
- 操作系统管理CPU的直观想法
- django管理界面使用与bootstrap模板使用