oracle
DoDoDTa
这个作者很懒,什么都没留下…
展开
-
orale 创建表
declare tm_i integer; begin select count(*) into tm_i from user_tables where lower(table_name)=lower('表名'); if tm_i>0 then execute immediate 'drop table 表名 '; end if;end;转载 2014-05-26 23:48:29 · 462 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (十二)
ORACLE SQL性能优化系列 (十二)作者: black_snail 关键字 ORACLE PERFORMANCE TUNING PL/SQL 出处 http://www.dbasupport.com 39. 总是使用索引的第一个列 如果索引是建立在多个列上, 只有在它的第一翻译 2014-06-01 00:55:57 · 559 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (十三)
ORACLE SQL性能优化系列 (十三)作者: black_snail 关键字 ORACLE PERFORMANCE TUNING PL/SQL 出处 http://www.dbasupport.com 43. 用WHERE替代ORDER BY ORDER BY 子句只在两种严格的条件下使翻译 2014-06-01 00:56:26 · 506 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (十四) 完结篇
ORACLE SQL性能优化系列 (十四) 完结篇作者: black_snail关键字 ORACLE PERFORMANCE TUNING PL/SQL 出处 http://www.dbasupport.com 46. 连接多个扫描 如果你对一个列和一组有限的值进行比较, 优化器可能执行多次扫描并对结果翻译 2014-06-01 00:56:56 · 553 阅读 · 0 评论 -
oracle 对象查询
---dba_ 所有 user_ 当前select * from dba_tables where owner = ''; select * from user_tables; select * from dba_source where owner = '' and type not in( 'PROCEDURE','FUNCTION'); select ...原创 2014-06-01 01:03:49 · 843 阅读 · 0 评论 -
Oracle索引-1
学习Oracle时,经常会遇到Oracle索引问题,这里将介绍Oracle索引问题的解决方法。Oracle索引和对应的表应该位于不同的表空间中,Oracle能够并行读取位于不同硬盘上的数据,可以避免产生I/O冲突B树索引:在B树的叶节点中存储索引字段的值与ROWID。唯一索引和不唯一索引都只是针对B树索引而言.Oracle最多允许包含32个字段的复合索引Oracle索引创建策略1.导入转载 2014-06-01 01:16:38 · 618 阅读 · 0 评论 -
Oracle索引-2
一、概述索引是用于加速数据存取数据对象,合理的使用索引可以大大降低I/O次数,从而提高数据访问性能。索引有很多种我们主要介绍常用的几种。 二、创建索引1、单列索引单列索引是基于单个列所建立的索引。sql>create index 索引名 on 表名(列名); 2、复合索引复合索引是基于两列或是多列的索引,在同一张表上可以有多个转载 2014-06-01 01:17:10 · 500 阅读 · 0 评论 -
数字金额转化为大写金额
create or replace function Fn_GetMoneyToChina(p_money in number) return varchar2 is /* 功能:数字金额转化为大写金额 最大支持金额 9999999999999999.99 (支持千万亿的任何金额) 小数点支持2位 */ type myArray i转载 2014-06-01 01:19:22 · 681 阅读 · 0 评论 -
快速生成Insert、Update、Select语句
declare sText VARCHAR2(3000); sTable varchar2(30);begin sTable := '&Tablename'; select get_sql_insert(sTable) INTO sText from dual; DBMS_OUTPUT.put_line(sText);DBMS_OUTPUT.put_line('...原创 2016-06-08 15:00:05 · 5651 阅读 · 0 评论 -
oracle 字符串切分包函数
create or replace package StringSplit is type Col_MaskIndexChar is Record( MaskIndexOfString int); type v_table is table of Col_MaskIndexChar index by binary_integer; My_table v_table; Co原创 2016-07-06 15:08:22 · 397 阅读 · 0 评论 -
oracle 中,查找 小于指定日期的最近日期
create or replace function fn_GetNearDateFromTable(p_date int) return date is Result date;begin select max(a.datefiled) into result from tables a where a.datefiled <= to_date(p_date, 'Y...原创 2018-09-01 10:41:44 · 9761 阅读 · 0 评论 -
Oracle 获取当前年、月、日
Oracle 获取当前年、月、日1、//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 //语法如下: EXTRACT ( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | T...转载 2018-09-01 10:47:17 · 2564 阅读 · 0 评论 -
管道化表函数PIPELINED
为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成。REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化。Oracle 9i 通过引入的管道化表函数纠正了后一种情况。表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数据库表一样。管道化表函数...转载 2018-09-01 10:49:21 · 668 阅读 · 0 评论 -
数字金额转化为大写金额
create or replace function Fn_GetMoneyToChina(p_money in number) return varchar2 is /* 功能:数字金额转化为汉字金额 最大支持金额 9999999999999999.99 (支持千万亿的任何金额) 小数点支持2位 */ type myArray is ta...原创 2018-09-01 10:52:30 · 495 阅读 · 0 评论 -
传入表或SQL语句,分页查询
create or replace procedure 分页查询(pvc_input varchar2, pi_backcode out integer, pvc_message out varchar2, ...原创 2018-09-01 10:53:15 · 397 阅读 · 0 评论 -
oracle的递归查询语句
比如模块表 mod 字段 number modId number parentModId varchar modName 从下往上查 select * from mod m start with m.modId = ? connect by prior m.parentModId = m.modId 从上往下查 select * from mod m start with m.pa...转载 2018-09-01 10:53:51 · 478 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (十一)
ORACLE SQL性能优化系列 (十一)作者: black_snail 关键字 ORACLE PERFORMANCE PL/SQL TUNING 出处 http://www.dbasupport.com 36. 用UNION替换OR (适用于索引列) 通常情况下, 用UNION替换WH翻译 2014-06-01 00:55:32 · 516 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (十)
ORACLE SQL性能优化系列 (十)作者: black_snail 关键字 ORACLE PERFORMANCE TUNING PL/SQL 出处 http://WWW.DBASUPPORT.COM 31. 强制索引失效 如果两个或以上索引具有相同的等级,你可以强制命令ORACLE优翻译 2014-06-01 00:55:03 · 478 阅读 · 0 评论 -
传入表或SQL语句的分页查询存储过程
create or replace procedure 分页查询(pvc_input varchar2, pi_backcode out integer, pvc_message out varchar2,翻译 2014-05-26 23:53:52 · 437 阅读 · 0 评论 -
--alter table myTAB modify myfield not null novalidate;
--alter table myTAB modify myfield not null novalidate;--创建表declare tm_i integer; begin select count(*) into tm_i from user_tables where lower(table_name)=lower('aaa'); if原创 2014-05-26 23:45:50 · 626 阅读 · 0 评论 -
oracle管道
例子1:--需要预先定义str_split类型CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000)--管道化表函数CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2, p_delimi转载 2014-05-26 23:51:32 · 393 阅读 · 0 评论 -
oracle 获取字符串中的字段值
CREATE OR REPLACE FUNCTION colcount (pvar_s VARCHAR2, pvar_mask VARCHAR2) RETURN INTIS pvar_i INT; pvar_len INT; pvar_count INT; pvar_inst int;BEGIN pvar_i := 0;转载 2014-05-26 23:57:37 · 604 阅读 · 0 评论 -
getcol
CREATE OR REPLACE FUNCTION getcol ( pvar_s VARCHAR2 , pvar_index INT , pvar_mask VARCHAR2) RETURN VARCHAR2IS pvar_i INT; pvar_result VARCHAR2 (4096);BEGIN pvar_转载 2014-07-02 23:55:48 · 668 阅读 · 0 评论 -
colindex
CREATE OR REPLACE FUNCTION colindex( pvar_s VARCHAR2 , pvar_substr VARCHAR2 , pvar_mask VARCHAR2) RETURN INTIS pvar_i INT; pvar_count INT; pvar_result INT;转载 2014-07-02 23:56:21 · 603 阅读 · 0 评论 -
colcount
CREATE OR REPLACE FUNCTION colcount(pvar_s VARCHAR2, pvar_mask VARCHAR2) RETURN INTIS pvar_i INT; pvar_len INT; pvar_count INT; pvar_inst int;BEGIN pvar_i := 0; p转载 2014-07-02 23:57:29 · 577 阅读 · 0 评论 -
strFieldByName
CREATE OR REPLACE FUNCTION strFieldByName(sRow VARCHAR2, sFieldName VARCHAR2, sFieldMask VARCHAR2,转载 2014-07-03 00:13:36 · 414 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (一)
ORACLE SQL性能优化系列 (一)作者: black_snail关键字 ORACEL SQL Performance tuning 出处 http://www.dbasupport.com 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c.翻译 2014-06-01 00:47:41 · 485 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (二)
ORACLE SQL性能优化系列 (二)作者: black_snail 关键字 ORACLE SQL PERFORMANCE TUNING 出处 www.dbasupport.com 4. 选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处翻译 2014-06-01 00:48:26 · 477 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (三)
ORACLE SQL性能优化系列 (三)作者: black_snail 关键字 ORACLE SQL PERFORMANCE TUNING 出处 http://www.dbasupport.com 8. 使用DECODE函数来减少处理时间 使用DECODE函数可以避免重复扫描翻译 2014-06-01 00:49:15 · 471 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (四)
ORACLE SQL性能优化系列 (四)作者: black_snail 关键字 ORACLE SQL PERFORMANCE TUNING 出处 http://WWW.DBASUPPORT.COM 13. 计算记录条数 和一般的观点相反, count(*) 比count(1)稍快 ,翻译 2014-06-01 00:49:52 · 425 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (五)
ORACLE SQL性能优化系列 (五)作者: black_snail 关键字 ORACLE PERFORMANCE SQL TUNING 出处 http://WWW.DBASUPPORT.COM 17. 使用表的别名(Alias) 当在SQL语句中连接多个表时, 请使用表的别名并把翻译 2014-06-01 00:50:27 · 462 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (六 )
ORACLE SQL性能优化系列 (六 )出处 http://www.dbasupport.com 20. 用表连接替换EXISTS 通常来说 , 采用表连接的方式比EXISTS更有效率 SELECT ENAME FROM EMP E WHERE EXISTS (SELECT ‘X' FROM DEPT WHERE DEPT_NO翻译 2014-06-01 00:51:47 · 525 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (七 )
ORACLE SQL性能优化系列 (七 )作者: black_snail 24. 用EXPLAIN PLAN 分析SQL语句 EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句. 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫翻译 2014-06-01 00:52:55 · 518 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (八)
ORACLE SQL性能优化系列 (八)作者: black_snail 关键字 ORACLE SQL PERFORMANCE TUNING 出处 http://www.dbasupport.com 25. 用索引提高效率 索引是表的一个概念部分,用来提高检索数据的效率. 实际上,翻译 2014-06-01 00:53:29 · 467 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (九)
ORACLE SQL性能优化系列 (九)作者: black_snail 关键字 ORACLE PL/SQL TUNING PERFORMANCE 出处 http://www.dbasupport.com 27. 基础表的选择 基础表(Driving Table)是指被最先访问的表翻译 2014-06-01 00:54:11 · 560 阅读 · 0 评论