oracle-sql汇总
1、sql汇总
一、重复操作查询
--where条件得distinct systemdicid作为唯一标识
select *
from dmis_zd_systemdic t
WHERE typeid = '06012'
and t.systemdicid in (select min(systemdicid)
from dmis_zd_systemdic
where typeid = '06012'
group by name)
order by orderno;
二、检查表是否存在
select count(tname) from tab where tname = upper('表名');
三、日期函数
--返回当前日期年度的第一天
select trunc(sysdate,'year') from dual;
--返回当前日期月份的第一天
select trunc(sysdate,'month') from dual;
--上月最后一天
select last_day(add_months(sysdate, -1)) from dual;
--给定日期后最近星期几得日期
select next_day(to_date('2009-12-01', 'yyyy-mm-dd'), '星期一') next_day
from dual;
四、同一张表中,根据一个字段更新另一个字段
update (select t.fgenerationtime as ftime, t.fgeneratedateall as str
from dmis_fs_approvebook t
where t.fgenerationtime is not null)
set str = TO_CHAR(ftime, 'yyyy-mm-dd')
where str is null;
五、重复数据查询
select * FROM EMP E
WHERE E.ROWID > (SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMP_NO = E.EMP_NO);
六、合并不同表的数据(merge into)
merge into student s
using (select id, name, tel from test001) x
on (s.s_id = x.id)
when matched then
update set s_name = x.name
when not matched then
insert (s_id, s_name, s_age) values (x.id, x.name, x.tel);
commit;
七、查询执行sql(v$sql)
select t.module, t.first_load_time, t.sql_text
from v$sql t
order by first_load_time desc;
2、数据库精度修改处理
-- Create table
/*drop table temp_data;*/
create table temp_data
(
FID VARCHAR2(40) not null,
USEHOURS NUMBER(10) default 0,
FVOLTAGE NUMBER(10) default 0,
INVOLTAGE NUMBER(10) default 0
)
;
alter table TEMP_DATA
add constraint tempfid primary key (FID);
insert into temp_data
select a.fid, a.usehours, a.fvoltage, a.involtage
from dmis_fs_factorymonthdetail a;
update dmis_fs_factorymonthdetail t
set t.usehours = '', t.fvoltage = '', t.involtage = '';
alter table DMIS_FS_FACTORYMONTHDETAIL modify USEHOURS NUMBER(10,1);
alter table DMIS_FS_FACTORYMONTHDETAIL modify FVOLTAGE NUMBER(10,1);
alter table DMIS_FS_FACTORYMONTHDETAIL modify INVOLTAGE NUMBER(10,1);
update (select a.usehours as tusehours,
b.usehours as fusehours,
a.fvoltage as tfvoltage,
b.fvoltage as ffvoltage,
a.involtage as tinvoltage,
b.involtage as finvoltage,
a.fid as ffid,
b.fid as tfid
from dmis_fs_factorymonthdetail a, temp_data b
where a.fid = b.fid) tt
set tt.tusehours = tt.fusehours,
tt.tfvoltage = tt.ffvoltage,
tt.tinvoltage = tt.finvoltage
where ffid = tfid;
drop table temp_data;
commit;
3、恢复drop掉的存储过程
用sys用户登陆,执行如下的查询:
SQL> select text from dba_source as of timestamp to_timestamp('2009-03-06 09:45:00', 'YYYY-MM-DD HH24:MI:SS') where owner='IPRA' and name= 'P_IPACCHECK_NC' order by line;
4、删除某个用户下的对象
--删除某个用户下的对象
set heading off;
set feedback off;
spool c:/dropobj.sql;
prompt --Drop constraint
select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where constraint_type='R';
prompt --Drop tables
select 'drop table '||table_name ||';' from user_tables;
prompt --Drop view
select 'drop view ' ||view_name||';' from user_views;
prompt --Drop sequence
oracle-sql汇总相关推荐
- [推荐推荐][提供下载]ORACLE SQL:经典查询练手系列文章收尾(目录篇)
[推荐推荐][提供下载]ORACLE SQL: 经典查询练手系列文章收尾(目录篇) --通过知识共享树立个人品牌. 通过近一个月的努力,<经典查询练手系列>也快告一段落,但并不代表结束,以 ...
- oracle 数据库问题,ORACLE数据库常见问题汇总,oracle常见问题汇总
ORACLE数据库常见问题汇总,oracle常见问题汇总 提交事务的时候提示(数据库被一个用户锁住的解决方法) select object_id,session_id,locked_mode from ...
- Oracle SQL Trace 和 10046 事件 .
一. SQL_TRACE 当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL ...
- oracle view使用次數,oracle sql资源消耗相关视图
一.常用视图说明 Oracle sql语句资源消耗监控,最常用的系统视图有: v$sql v$sqlarea v$sqltext v$session v$sql和v$sqlarea基本相同,记录了共享 ...
- jdbc连oracle dns报错,近期处理的oracle问题汇总
近期处理的oracle问题汇总 1.内存问题导致数据库宕机 分析数据库alert日志无异常信息,停在某一时间点,分析操作系统日志,发现系统有重启操作,报硬件 内存错误 2.磁阵问题导致数据库hang住 ...
- Oracle SQL开发考试试题
Oracle SQL开发考试试题,主要围绕Oracle SQL的基础开发,以及SQL优化的相关知识点,主要的考点: (1) DML考点: (2) DDL考点: (3)SELECT考点 (4)子查询考点 ...
- 【SQL】Oracle SQL monitor
[SQL]Oracle SQL monitor 第一章 被埋没的SQL优化利器--Oracle SQL monitor DBAplus社群 | 2015-11-26 07:00 转载声明:本文为DBA ...
- 用sql改oracle表结构,SQL server 表结构转Oracle SQL脚本
SQL server 表结构转Oracle SQL脚本 /****** Object: StoredProcedure [dbo].[getOracle] Script Date: 2019/7/25 ...
- oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据
oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null ...
- Oracle SQL高级编程——分析函数(窗口函数)全面讲解
Oracle SQL高级编程--分析函数(窗口函数)全面讲解 注:本文来源于:<Oracle SQL高级编程--分析函数(窗口函数)全面讲解> 概述 分析函数是以一定的方法在一个与当前行相 ...
最新文章
- 第1课第4.4节_Android硬件访问服务编写HAL代码
- Java生成xlsx格式的excel文件
- windows 2008 server NTP Server
- php金额类,PHP类-人民币金额转大写
- STM32之RTC例程
- 下载丨9月数据库技术通讯:Redo日志丢失,重建遭遇ORA-16433处理
- 学习Spring(一) -- 配置Spring
- 网页改成html后缀,自定义网页后缀名-网页后缀名HTML、HTM、SHTml、STHM的区别
- Android平台支持的多媒体格式
- 原生js模仿京东图片放大镜效果
- js数据在html乱码,通过网页查看JS源码中汉字显示乱码的解决方法
- 响铃:金蝶的SaaS第一能保持多久?
- M个苹果放在N个盘子里,有多少种不同的放法
- 版本管理工具Git使用总结
- xp iis访问元数据库失败
- ubuntu清空回收站命令
- 大牛教你怎么学习Java多进程,下载量瞬秒百万
- java斗地主发牌_java斗地主发牌程序
- 求n的阶乘和求n的阶乘和——两种方法
- win10右键新建为什么没有文本文档了
热门文章
- shell脚本的exit问题(退出脚本还是退出终端)
- Django 入门项目案例开发(上)
- 克莱门特公司在俄罗斯一个数据中心安装其新型冷却系统
- [Android Pro] InputStream.skip方法的思考
- 2014年中回首与展望
- zoj 2709 Lottery 组合数,概率,贪心 (8-F)
- SQL注入不能多句执行时的一种突破方法(SA权限)
- 冲动当机立断(2006-01-19 16:58:32)(新浪)
- [转]java取得Linuxcpu,内存,磁盘实时信息
- [导入]用Ext做的登陆窗口的例子