oracle设置序列,触发器,数据库备份,导入等

创建序列

create sequence WX_MATERIAL_CONTENTPIC_ID  --序列名称
minvalue 1  --最小值
maxvalue 9999999999999999999999999999  --最大值
start with 1  --当前从1开始
increment by 1  --每次自增1
cache 10;

创建触发器

create or replace trigger 触发器名称 before
 insert on 作用表名称 for each row /*对每一行都检测是否触发*/
begin
 select seq_cfg_monitor_program.nextval into:New.id from dual;
 end;

数据库备份

1、切换成oracle用户

su - oracle

2、查询当前文件夹权限

数据导入

ls -ld 文件夹路径

3、执行命令

exp xt_zhsw_wx/xt0371@127.0.0.1:1521/ORCL file=D:\xt_zhsw_wx.dmp owner=xt_zhsw_wx log=20211213.log

在这里插入图片描述

imp xt_zhsw_wx/xt0371@ORCL file=/root/XT_ZHSW_WX.dmp log=/root/XT_ZHSW_WX.log fromuser=xt_zhsw_wx touser=xt_zhsw_wx

在这里插入图片描述

查询所有序列

select * from USER_SEQUENCES;

查询代表中某个字段是否重复

select 
  * 
from 
  wx_pay_user
where 
  openid
in 
  (select openid  from  wx_pay_user a group by  openid having count (openid) > 1)

过滤单个重复字段

select distinct t.openid from wx_pay_user t

时间范围查询

select distinct to_char(d.exchg_date,'yyyymmdd')
 from a_order_info_chk d where d.pay_mode='0304' and d.exchg_date>=to_date('2021-12-13','yy-mm-dd')
and d.exchg_date<=to_date('2022-01-09','yy-mm-dd');

按照符号分割某个字段中数据

select openid from 
(SELECT openid, --需要查询表中的的字段,唯一主键
 REGEXP_SUBSTR(USERTABLES,'[^,]+', 1, LEVEL) TYPE --需要拆分的字段,直接把TYPE换成你要拆分的那个字段即可
 FROM WX_PAY_USER --表名
 --WHERE --id = '12359' --你如果有条件,在此处加上即可,没有的话去掉就是拆分所有的
  where USERTABLES is not null
CONNECT BY LEVEL <=REGEXP_COUNT(USERTABLES, ',') + 1 --需要拆分的字段,直接把TYPE换成你要拆分的那个字段即可
 AND Id= PRIOR ID --需要查询表中的的字段,唯一主键,把WID换成你表中的唯一主键即可,其他不变
 AND PRIOR DBMS_RANDOM.VALUE IS NOt NULL) --这句话照抄,不要改
 where type =310176
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值