`
buliedian
  • 浏览: 1238821 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

oracle 小技巧

阅读更多

1. 

     查看版本号:select * from v$version;

2.      在imp导入数据时可以加上

ignore=y, 这样就会忽略对象创建错误信息,这样有的数据会报错,没有的数       据就会插入表中。

Rows=n时只能导入表结构,数据导入不了。

Show=y可以显示导出文件的内容,可以帮助找到错误。

Destroy=y时就会覆盖已经存在的数据文件。(我试过不行,不知道是不是我理解有问题)

Exp help=y找到详细的帮助

3.      在sqlplus 下调用exp:

 SQL>  host exp 'wang/wang@demo' file=c:/aa.dmp log=c:/aa.log tables=aa;

4.      使用spool

Sql>sqool c:/aa.tet

Sql>spool off

5.      在cmd下启动oracle

Lsnrctl  start

Oradim –startup  -sid  demo

6.      union只是将两个结果联结起来一起显示,并不是联结两个表,UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALLUNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。

   网上有个人要做一个存储过程我有两个表.tempa,tempbtempa:内容为:

AA COL1  COL2

1   1    dd

1   1    SS

2   3    BB

TEMPB 内容为AA  COL1 COL2

1    3   S

1    4   SS

2    5   BB

现在要把这两个表连在一起;当TEMPA中的AA 和 COL2 同TEMPB中的AA和COL2相同,则TEMPA.COL1+TEMPB.COL1 付值给新建的标TEMPC,若不同,则分别插入到表TEMPC,中.

insert into tempc

select aa,sum(col1) col1 ,col2

from (select * from tempa

      union all

      select * from tempb) t

group by t.aa,t.col2;

在这里注意group by 可以跟两个字段,这样就可以实现以两个字段都相等来分组。同时注意临时表的使,总是想不起来。

其实还有一种方法:

Merge into tempa t2

Using  tempb  t1

On (t1.aa=t2.aa and t1.col2=t2.col2)

When matched then update set  t2.col1=t1.col1+t2.col1

When not matched then insert  values(t1.aa,t1.col1,t1.col2);

7.      察看用户下的所有对象:

Select * from obj;

其中有object_name和object_type字段等字段,方便查找。

8.      update多个字段,这种写法效率也高。

 UPDATE EMP

 SET (EMP_CAT, SAL_RANGE)

 = (SELECT MAX(CATEGORY) , MAX(SAL_RANGE)

  FROM EMP_CATEGORIES)

      WHERE EMP_DEPT = 0020;

9.      查询语句也是可是加许多判断语句的。这样可以在写的时候加许多逻辑进去。

SQL> select id,

  2  case

  3   when id in (2) then

  4   upper(sal)

  5   else

  6   lower(sal)

  7  end sal

  8  from cc;

        ID SAL

---------- --------------

         1 aa

         2 BB

             3 cc

10.  带参数的游标,这样可以传入不同的参数实现不同的查询,比如传入的用户id不同对应的发布信息不同:

declare

cursor e_c(no varchar2) is

select keyword from tb_publishinfo where userid=no;

v_key  tb_publishinfo.keyword%TYPE;

begin

open e_c(&dd);

loop

fetch e_c into v_key;

exit when e_c%notfound;

dbms_output.put_line(v_key);

end loop;

close e_c;

    end;

11.  根据不同的条件进行不同的输出,使用的是游标,但是要先创建一个包来先申明以下这个类型。

CREATE OR REPLACE PACKAGE refcursor

AS

   TYPE ref_cur IS REF CURSOR;

END refcursor;

在使用游标来根据不同条件返回不同的记录集:

CREATE OR REPLACE FUNCTION f_d (

   uid   IN   number

)

   RETURN refcursor.ref_cur

IS

   cur   refcursor.ref_cur;

BEGIN

   IF uid=1

   THEN

      OPEN cur FOR

         SELECT   userid

             FROM tb_publishinfo tp

            WHERE tp.id<10000;

   END IF;

   IF uid=2

   THEN

      OPEN cur FOR

        SELECT   userid

             FROM tb_publishinfo tp

           WHERE tp.id>10000;

 END IF;

   RETURN cur;

EXCEPTION

   WHEN NO_DATA_FOUND

   THEN

      NULL;

   WHEN OTHERS

   THEN

      RAISE;

END f_d;

0
0
分享到:
评论

相关推荐

    oracle小技巧

    自己总结的一点有用的SQL语句,分享给大家: 查字符串A在字符串B中出现的次数, 将数据库中同一组的某一字段用|连接起来放进一个字段中,误删记录后回滚,连接两个字段等

    ORACLE数据库维护技巧

    为了更好地诊断并解决这些问题,本文将分享一系列关于Oracle数据库维护的小技巧,特别是针对Unix环境下的维护实践。 #### 二、操作系统层面的监控与调优 ##### 1. 检查操作系统IO问题 - **工具选择**:`sar`是一个...

    Oracle常用操作技巧.zip

    oracle常用操作技巧,包括oracle安装步骤、网络配制、EM、备份、RMAN的备份与恢复、逻辑备份、闪回、ASM(管理存储软件)、数据迁移、安全控制、oracle安装及常规操作、SQL语句、函数、SQL语句、权限、体系结构、空间...

    Oracle性能优化技巧

    ### Oracle性能优化技巧详解 #### 一、引言 Oracle数据库是企业级应用中的核心组件之一,其性能直接影响到业务系统的稳定性和响应速度。本文将详细介绍Oracle性能优化的关键技巧,帮助用户更好地理解和掌握如何...

    ORACLE进阶操作技巧

    ### ORACLE进阶操作技巧知识点详解 #### 一、数据库安装与配置 ##### 安装注意事项 - **根据用户数量进行特定安装**:在安装Oracle数据库之前,首先需要考虑的是预期用户数量。不同规模的应用场景可能需要不同版本...

    ORACLE_SQL性能优化技巧

    Oracle SQL性能优化是数据库管理中的关键环节...通过理解和应用这些技巧,数据库管理员和开发人员可以有效地优化ORACLE SQL查询,提升系统整体性能。记住,每个数据库环境都有其独特性,最佳实践需要根据实际情况调整。

    oracle+11G完全中文教程(附加数据库小技巧文档哦)

    本教程旨在全面介绍Oracle 11g的基础知识,并分享一些实用的数据库管理小技巧,帮助初学者快速掌握数据库操作。 首先,Oracle 11g的核心概念包括数据库实例与数据库本身。数据库实例是内存结构和后台进程的集合,它...

    oracle BIP报表开发的一些小技巧

    "Oracle BIP 报表开发的小技巧" 本文总结了在 Oracle BIP 报表开发过程中的一些小技巧,涵盖了数据模板开发、数据显示格式控制、XML 文件中标签为空的处理、汇总没有成功的原因分析、在 BI 调试过程中增加调试信息...

    oracle性能优化技巧

    ### Oracle性能优化技巧详解 #### 一、Oracle优化器模式 在Oracle数据库中,优化器是决定查询执行计划的关键组件,其目标是最小化资源消耗并最大化查询性能。Oracle提供了三种主要的优化器模式:基于规则(RULE)...

    OracleSQL性能优化技巧

    Oracle SQL性能优化是数据库管理中的关键环节,它涉及到多个层面,包括数据结构设计、应用程序结构、SQL语句、服务器内存分配、硬盘I/O以及操作系统参数的调整。这些方面都直接影响到Oracle数据库系统的运行效率和...

    oracle_技巧集锦.doc

    ### Oracle技巧集锦知识点详解 #### 一、Oracle安装与配置 **1. Oracle安装后的初始口令** - **Internal**: `internal/oracle` - **SYS**: `sys/change_on_install` - **SYSTEM**: `system/manager` - **SCOTT**:...

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    南京的死锁问题今日点评优化小技巧 Oracle的死锁优化小技巧 几个常用的与锁相关的脚本5月20日 凌晨的邮件通知短信今日点评优化小技巧 /10028事件优化小技巧 PL/SQL 优化工具profiler5月22日 ODS系统和RAC优化小技巧 ...

    心得共享Oracle经验技巧集锦

    ### 心得共享Oracle经验技巧集锦 在Oracle数据库管理与优化的过程中,积累了一系列实用的经验技巧,以下将针对部分核心知识点进行详细介绍。 #### 1. 删除表空间(Tablespace) 在Oracle中,删除一个表空间可以...

    Oracle经验技巧集锦

    ### Oracle经验技巧集锦 在Oracle数据库管理与开发过程中,积累一些实用的经验技巧对于提高工作效率、减少错误以及优化性能有着非常重要的作用。本文将根据给定的标题、描述及部分内容,整理并归纳出一系列关于...

    附:liux oracle提权的小技巧.txt

    根据提供的文件信息,本文将详细解析“liux oracle提权的小技巧”中涉及的关键知识点,主要包括Oracle数据库中的提权操作及具体的实现方法。 ### 一、Oracle提权基础概念 在Oracle数据库环境中,“提权”通常指的...

    Oracle 常用SQL技巧经典收藏

    以下是一些关于Oracle常用SQL技巧的经典要点: 1. **避免在SELECT子句中使用“*”**:在SQL查询中,使用通配符“*”代表选择所有列,虽然方便但效率低下。Oracle在解析时需要查询数据字典获取所有列名,增加了额外...

    Oracle经验技巧集(十年工作经历)

    根据给定的文件信息,以下是对Oracle经验技巧集的关键知识点的详细解读,这些技巧由一位拥有十年Oracle工作经验的专业人士总结: ### 1. 删除表空间 语法:`DROPTABLESPACETableSpaceName[INCLUDINGCONTENTS...

    Oracle经典常用技巧荟萃

    对于Oracle数据库的安装、管理以及性能优化,都有着一系列的经典技巧,这些技巧可以帮助数据库管理员提高工作效率,优化数据库性能,降低维护成本。以下是对给定文件内容中提到的Oracle常用技巧进行的详细解析。 ...

    Oracle EBS Form开发小技巧汇总

    ### Oracle EBS Form 开发小技巧汇总 #### 1. Form中提交并发请求 在Oracle EBS Form开发中,提交并发请求是一项常见的需求。当用户希望执行后台处理时,可以通过这种方式来实现。以下是一个示例代码片段,展示了...

Global site tag (gtag.js) - Google Analytics