Oracle
王绍桦
不积跬步无以至千里!不积小流无以成江海!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Oracle触发器实现插入或更新一张表数据同时插入或更新另一张表
CREATE OR REPLACE TRIGGER TGR_NAME AFTER INSERT OR UPDATE ON TABLE1_NAME FOR EACH ROW BEGIN IF inserting then INSERT INTO TABLE2_NAME (zj,mc) VALUES(:new.zj,:new.mc); ELSIF updating then UPDATE原创 2017-10-18 16:48:12 · 18246 阅读 · 0 评论 -
Oracle创建计划任务定时删除30天之前数据
1.创建计划任务需要执行的存储过程CREATE OR REPLACE PROCEDURE "PRO_INTERVAL_DELETE_LOG" ASBEGIN DELETE FROM T_SYS_LOG WHERE CZSJ < SYSDATE-30;END; 备注:SQL为删除30天之前数据,可根据自身业务编写。2.创建计划任务DECLARE DELET...原创 2019-01-11 16:30:56 · 4996 阅读 · 12 评论 -
Oracle通过执行计划查看查询语句是否使用索引
1.生成执行计划explain plan forselect * from t_call_records where t_bjhm='123456' 备注:explain plan for后面为要生成执行计划的查询语句2.查看执行计划结果select * from table(dbms_xplan.display) 如上图所示,TABLE ACCESS FUL...原创 2018-11-27 12:46:44 · 34051 阅读 · 0 评论 -
Oracle查询今天、昨天、本周、上周、本月、上月数据
查询今天数据:SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')查询昨天数据:SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR...原创 2018-10-26 11:20:22 · 48337 阅读 · 5 评论 -
Oracle查看表空间使用率
查看用户默认表空间SELECT USERNAME,DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME='DB_USER_NAME'; 查看表空间文件路径、大小、已使用、使用率SELECT B.FILE_NAME 物理文件名, B.TABLESPACE_NAME 表空间名称, B.BYTES/1024/1024 大小M,...原创 2018-08-23 14:53:05 · 24282 阅读 · 0 评论 -
Oracle通过函数生成表主键
-- 调用:SELECT FUN_GET_TABLE_ID('TEST','ID','A',23) FROM DUALCREATE OR REPLACE FUNCTION FUN_GET_TABLE_ID(IN_TABLE_NAME VARCHAR2, IN_COLUMN_NAME VARCHAR2, ...原创 2018-08-22 15:26:40 · 2623 阅读 · 0 评论 -
Oracle创建并使用dbLink
1.在本地数据库创建远程数据库的dbLinkCREATE PUBLIC DATABASE LINK LINK_NAMECONNECT TO USER IDENTIFIED BY PASSWORDUSING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.183)(PORT = 1521))...原创 2018-08-06 16:23:53 · 325 阅读 · 0 评论 -
Oracle导出和导入数据的三种模式
数据导出:1.完全导出exp weixin/weixin@localhost:1521/orcl buffer=64000 file=F:/weixin.dmp full='y'2.按用户导出exp weixin/weixin@localhost:1521/orcl buffer=64000 file=F:/weixin.dmp owner='weixin'3.按表导出...原创 2018-08-06 15:11:40 · 2725 阅读 · 0 评论 -
Oracle查询被锁的表以及解锁表
1.查询引起了锁表的原因select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name, s.machine, s.terminal, a.sql_text,...原创 2018-05-30 17:21:11 · 7710 阅读 · 0 评论 -
Oracle存储过程实现同步表数据,若存在更新,不存在插入
创建存储过程:CREATE OR REPLACE PROCEDURE "TEST_PROC"(NAME IN VARCHAR2,DM IN VARCHAR2) IS ZJ VARCHAR2(40); JH VARCHAR2(10); VERRINFO VARCHAR2(200); USER_COUNT NUMBER; B...原创 2018-03-28 16:00:58 · 11032 阅读 · 0 评论 -
Oracle替换某个字段从第N位开始M位长度的内容
update tablename set columnname = replace(columnname,substr(columnname,7,8),'11111111');原创 2018-01-22 17:42:38 · 4213 阅读 · 2 评论 -
Oracle恢复误删数据
1.delete清空表操作: flashback table tableName to timestamp to_timestamp(‘2017-12-28 16:00:00’,’yyyy-mm-dd hh24:mi:ss’); 备注:上面时间为数据所要恢复的时间点,若提示 cannot flashback the table because row movement is not enable原创 2017-12-28 17:25:51 · 238 阅读 · 0 评论 -
Oracle正则表达式分割字符串
select regexp_substr(b.columnName, ‘[^/]+’, 1, c.lv) from (select regexp_count(a.columnName, ‘[^/]+’) as cnt,a.columnName from tableName a ) b join (select level lv from columnName connect b原创 2017-10-03 08:48:12 · 1616 阅读 · 0 评论 -
Oracle触发器实现更新一张表数据时判断另一张表是否存在,存在更新数据,不存在插入数据
CREATE OR REPLACE TRIGGER TGR_NAME AFTER UPDATE ON TABLE1_NAME FOR EACH ROW DECLARE V_COUNT NUMBER(10); BEGIN SELECT COUNT(*) INTO V_COUNT FROM TABLE2_NAME WHERE ZJ=:NEW.ZJ; IF V_COUNT = 0 THEN原创 2017-10-18 16:59:31 · 6096 阅读 · 0 评论 -
Oracle删除重复数据的几种方式
包含空字段的数据去重:DELETE FROM TABLE_NAME WHERE ROWID NOT IN(SELECT MIN(ROWID) FROM TABLE_NAME GROUP BY COLUMN1,COLUMN2)不包含空字段的数据去重:DELETE FROM TABLE_NAME TWHERE (T.COLUMN1,T.COLUMN2) IN ( SELECT ...原创 2019-04-23 10:29:14 · 15603 阅读 · 0 评论
分享