`
Rexwong
  • 浏览: 10521 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle--sql汇总

阅读更多

1sql汇总

一、重复操作查询

--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;

七、查询执行sqlv$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  

 select

分享到:
评论
12 楼 ssqmeng 2010-04-15  
收藏了:)
11 楼 sokoo108 2010-04-15  
刃之舞 写道
wujiazhao88 写道
其实我建议在sql里面不要太多的业务逻辑。逻辑交给APP去处理吧

平衡APP服务器和数据库的双方压力,有些逻辑在数据库中处理更轻便

的确,有些业务算法对数据的依赖很大,在数据库中执行会提高不少效率。
10 楼 ironsabre 2010-04-13  
Rexwong 写道
helyho 写道
应用的维护是维护中成本的大头.所以我还是认为sql放在库中较好,但前提是管理好版本.

是,以前我们的项目有近一百个存储过程,并且分布了十多个节点。如果同步到这样的生产环境,如何管理版本,着实是一个问题,不知道兄弟有什么好方法。


跟管理java版本有区别吗?我们有更多的存储过程,从来没有听过有版本管理上的问题。
9 楼 Rexwong 2010-04-08  
andyu2008 写道
楼主写这些SQL的时候,考虑过性能问题没?

以上sql没有考虑性能,因为大多数都是支持测试部署人员进行数据库更新用的。均是他们在数据库直接操作。
8 楼 yn5411 2010-04-07  
我的insert,update,delete是app做,其它的特别是报表数据用存储过程来完成,充分利用数据库。
7 楼 andyu2008 2010-04-07  
楼主写这些SQL的时候,考虑过性能问题没?
6 楼 05150214 2010-04-07  
想不明白把业务逻辑放到app中处理?  明明应该在数据库里解决的
5 楼 Rexwong 2010-04-07  
helyho 写道
应用的维护是维护中成本的大头.所以我还是认为sql放在库中较好,但前提是管理好版本.

是,以前我们的项目有近一百个存储过程,并且分布了十多个节点。如果同步到这样的生产环境,如何管理版本,着实是一个问题,不知道兄弟有什么好方法。
4 楼 刃之舞 2010-04-07  
wujiazhao88 写道
其实我建议在sql里面不要太多的业务逻辑。逻辑交给APP去处理吧

平衡APP服务器和数据库的双方压力,有些逻辑在数据库中处理更轻便
3 楼 helyho 2010-04-07  
应用的维护是维护中成本的大头.所以我还是认为sql放在库中较好,但前提是管理好版本.
2 楼 Rexwong 2010-04-06  
wujiazhao88 写道
其实我建议在sql里面不要太多的业务逻辑。逻辑交给APP去处理吧

恩,的确是这个道理。但是有时报表需要写sql,还有就是项目上线时对于数据库的更改,弄成脚本,还是有他的好处的
1 楼 wujiazhao88 2010-04-06  
其实我建议在sql里面不要太多的业务逻辑。逻辑交给APP去处理吧

相关推荐

    ORACLE-plan-a-sql-tuning.rar_oracle

    "ORACLE-plan-a-sql-tuning.rar_oracle"这个压缩包显然包含了关于Oracle SQL调优的培训材料,特别是"ORACLE执行计划和SQL调优.ppt",这可能是一个详细的PPT演示文稿,用于解释如何理解执行计划以及如何进行SQL优化。...

    oracle-sql-the-essential-reference

    - **Aggregate Functions**(聚合函数):探讨了Oracle SQL提供的聚合函数,如SUM、AVG、COUNT等,以及这些函数如何用于对数据集进行汇总分析。 - **Grouping and Partitioning**(分组与分区):讲解了如何使用...

    Oracle---文档总汇

    "Oracle---文档总汇"集合了一系列与Oracle数据库相关的学习资料,旨在帮助用户全面理解和掌握Oracle数据库的各项功能和操作技巧。 1. **Oracle8i_9i数据库基础.doc**:这个文档可能涵盖了Oracle 8i和9i的基础知识,...

    Oracle-sql语句收集整理大全.pdf

    根据给定文件的信息,我们可以总结出一系列与Oracle SQL语句相关的知识点。这些知识点涉及了基本的数据操作、查询优化以及复杂的连接查询等。 ### 一、基础数据操作 #### 1. 复制表结构(不含数据) - **SQL语句**...

    Oracle-SQL-statements-efficiency.rar_oracle

    在Oracle数据库管理中,SQL语句的执行效率是至关重要的,因为高效的SQL查询可以显著提升系统性能,降低服务器资源消耗。本资料“Oracle的SQL语句执行效率问题查找与解决方法”聚焦于如何识别和优化可能导致性能瓶颈...

    Oracle_CertifyMe_1Z0-051 OCP SQL部分

    从给定的文件信息来看,我们正在探讨的是与Oracle数据库管理系统的高级认证——Oracle Certified Professional (OCP) 相关的SQL部分知识。这不仅涵盖了基础的SQL操作,还深入到了复杂的表结构、数据完整性约束以及...

    Oracle_Database_11g_SQL_-_Master_SQL_and_PLSQL_in_the_Oracle_Database

    这个压缩包文件"Oracle_Database_11g_SQL_-_Master_SQL_and_PLSQL_in_the_Oracle_Database"似乎包含了一本关于掌握Oracle 11g SQL和PL/SQL的教程资料。 SQL(结构化查询语言)是用于管理和操作数据库的标准语言,而...

    Oracle PL-SQL 对应 hadoop hive 、 phoenix中常用的对应函

    Oracle PL-SQL 与 Hadoop Hive 和 Phoenix 是两种不同的数据处理和存储系统,它们各自拥有独特的函数库,但在数据操作中存在一些相似的功能。本文将详细介绍 Oracle PL-SQL 中的一些常见函数,以及它们在 Hadoop ...

    oracle-sql语言初级教程ppt

    oracle入门级PPT文档,PLSQL Developer操作界面讲解、数据结构说明,建表语句、增删改查数据,以及常用的sql查询摘要汇总,试图基础语法等,节省您的学习时间。

    Oracle --PlSql教程

    ### Oracle -- PlSql 教程知识点详述 ...这些内容覆盖了SQL的基础概念、查询语句的使用、函数的应用、子查询的操作、数据的操作以及表和视图的创建等多个方面,为学习Oracle PL/SQL提供了全面的指导。

    Oracle-ERP开发笔记

    ### Oracle-ERP开发笔记知识点概览 #### 一、Oracle Forms基础 **1. 设置ITEM为必填项** - 在Oracle Forms中,可以为特定的ITEM(字段)设置必填属性,确保用户在提交表单之前必须填写这些字段。这通常通过属性...

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    ### Oracle SQL 基础知识点概述 #### 一、Oracle SQL 运行环境与SQL语法 **1.1 SQL 的起源与分类** - **1.1.1 SQL 的起源** - SQL(Structured Query Language)即结构化查询语言,首次出现是在1970年代初期由...

    ORACLE-select-query.rar_oracle_多表查询

    在Oracle数据库系统中,SQL(结构化查询语言)是用于管理关系型数据库的主要工具,而查询语句则是SQL的核心组成部分。本压缩包“ORACLE-select-query.rar”专注于讲解Oracle数据库中的查询技术,特别是多表查询、子...

    oracle11g新特性--SQL Performance Analyzer

    ### Oracle 11g 新特性详解:SQL Performance Analyzer (SPA) #### 一、概述 随着技术的不断进步,Oracle 数据库也在不断地推出新的版本来满足企业和开发者的需求。Oracle 11g 是 Oracle 公司发布的一款重要版本,...

    ORACLE PL_SQL编程详解

    ### ORACLE PL/SQL编程详解知识点汇总 #### 一、引言 - **PL/SQL的概念**:PL/SQL(Procedure Language for Structured Query Language)是Oracle专有的过程化SQL扩展语言,它允许用户在Oracle数据库环境中编写...

    oracle PL-SQL语言初级教程

    ### Oracle PL/SQL语言初级教程知识点汇总 #### 一、PL/SQL语言基础 - **定义**: PL/SQL(Procedural Language for SQL)是一种专为Oracle数据库设计的过程化编程语言,它结合了SQL的数据处理功能与过程化的编程...

    Oracle Database 10g SQL Fundamentals I - Student Guide

    ### Oracle Database 10g SQL Fundamentals I - 学生指南 #### 一、概述 本学生指南旨在为学习者提供Oracle Database 10g SQL基础的全面介绍。Oracle Database 10g作为一款功能强大的关系型数据库管理系统,被广泛...

    oracle-游标使用汇总.doc

    Oracle数据库中的游标是处理查询结果集的一种重要机制,尤其在需要逐行处理多行数据时。游标允许我们按照需要遍历查询结果,并对每一行进行操作。本篇文章将详细解析Oracle数据库中游标的使用方法。 首先,游标分为...

    SQL(oracle).rar_oracle_oracle sql_oracle 总结_pl sql_sql

    `oracle_总结`标签提示,这份资料可能是对Oracle数据库使用和管理的关键知识点的汇总,可能包括表的创建、索引的使用、事务管理、视图的创建与应用、数据库备份与恢复策略等。数据库性能优化也是Oracle管理的重要...

    Oracle - In Database Map-Reduce

    Reducer函数负责汇总来自Mapper的中间结果,并生成最终的输出。它同样是一个表函数,但其输入为Mapper产生的键值对。 ##### 3.5 实现In-Database Map-Reduce 最后,将Mapper和Reducer结合起来,通过适当的SQL查询...

Global site tag (gtag.js) - Google Analytics