
SQL技巧精华
文章平均质量分 75
annicybc
这个作者很懒,什么都没留下…
展开
-
如何在OracleE数据库的字段上建立索引
当where子句对某一列使用函数时,除非利用这个简单的技术强制索引,否则Oracle优化器不能在查询中使用索引。 通常情况下,如果在WHERE子句中不使用诸如UPPER、REPLACE 或SUBSTRD等函数,就不能对指定列建立特定的条件。但如果使用了这些函数,则会出现一个问题:这些函数会阻碍Oracle优化器对列使用索引,因而与采用索引的情况相比较,查询会花费更多的时间。 庆幸的是,如果在使用函转载 2006-12-18 15:40:00 · 1205 阅读 · 0 评论 -
提高工作效率值设置以及搜狗输入法的另类应用
a.提高工作效率值工作电脑启动设置:1、开机设置: ①自动启动项:邮件,贸易通,SecureCRT,UltraEdit,MSN,Maxthon ②SecureCRT自动登陆一个默认Session ③UltraEdit工程,以便记录默认打开SQL和TXT文件(日积月累,常用SQL)。 ④Maxthon拥有记录历史浏览能力,在下次打开Maxthon的时候,显示上次关闭原创 2008-03-13 12:37:00 · 1040 阅读 · 3 评论 -
使用正规表达式编写更好的 SQL
Oracle Database 10g 内幕使用正规表达式编写更好的 SQL 作者:Alice Rischert Oracle Database 10g 中的正规表达式特性是一个用于处理文本数据的强大工具 Oracle Database 10g 的一个新特性大大提高了您搜索和处理字符数据的能力。这个特性就是正规表达式,是一种用来描述文本模式的表示方法。很久以来它已在许多编程语言和大转载 2007-11-15 17:46:00 · 1128 阅读 · 0 评论 -
没有盗版,中国的软件业将倒退5年
一直用惯了功能强大,智能化的编程工具,突然间让你的电脑里面没有盗版,你会有什么感觉?这种感觉就像从飞机加大炮的时代回到了小米加步枪历史轮回。有相当一段时间不能适应,最最重要的当然是你的工作效率受到严重的影响。纵观中国的软件企业,特别是中小企业,有那几家不是盗版的忠实拥护者,从需求,设计,开放,运营无不在盗版的世界里面赚着钱,同时又被无情的盗版着。好一点的企业可能会在运营的环节上给你用上正版。本原创 2007-11-06 13:09:00 · 1521 阅读 · 3 评论 -
Oracle 9i轻松取得建表和索引的DDL语句
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们通常的做法都是通过export with rows=no来得到,但它的输出因为格式的问题并不能直接拿来用。而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如IOT和嵌套表等,还是无法查到。 从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候。在Oracle 9i中,我们可以直接通原创 2007-11-07 17:49:00 · 921 阅读 · 0 评论 -
Pro*C中对Oracle PL/SQL块的调用
调用方法如下:1、内嵌PL/SQL块 EXEC SQL EXECUTEBEGINSELECT ename,sal INTO :name,:salaryFROM empWHERE empno=:enoEND;END-EXEC;注意点1:PL/SQL中使用VARCHAR变量作为输入宿主变量是,必须初始化VARCHAR变长的长度成员(为长度成员赋初始值。例如:varchar原创 2007-06-15 10:53:00 · 2150 阅读 · 0 评论 -
SQL 查询中的并(Union)、交(Intersect)、差(Minus)
在数据库的数据集操作中经常碰到大量的数据进行集合操作,这里面有几个比较重要的集合操作,对SQL的性能有较大的帮助。下面就是这几个操作语句的介绍。UNION StatementCombine data from one or more SELECT statements.In Oracle 8i (and above) the UNION command has been largely r原创 2007-09-11 15:59:00 · 2283 阅读 · 0 评论 -
SQLPLUS中设置输出数据库的列宽
col username format a4a表示字符型,4为1行显示4个字符。 SQL> col COLUMN interacted ONFORMAT a30 COLUMN result_plus_xquery ONHEADING Result Sequence COLUMN other_plus_exp ONFORMAT a44 COLUMN othe原创 2007-06-06 11:21:00 · 8743 阅读 · 3 评论 -
sqlldr语法
在北信的时候学习sqlloader的笔记,留着查询用。现在基本忘记上大学的日子了。 控制根据数据不同插入不同的表(条件装载); FIELDS TERMINATED BY x’09′ (制表符)whitespace(空格)等不同的数据分隔符号 装载定长数据; 装载变长数据; 装载嵌套数据; 在sqlldr中使用函数转载 2007-06-07 17:37:00 · 6391 阅读 · 1 评论 -
Oracle认证:何时使用绑定变量性能反而差
扫描成本和OPTIMIZER_INDEX_COST_ADJ 我们知道,在CBO模式下,Oracle会计算各个访问路径的代价,采用最小代价的访问路径作为语句的执行计划。而对于索引的访问代价的计算,需要根据一个系统参数OPTIMIZER_INDEX_COST_ADJ来转换为与全表扫描代价等价的一个值。这是什么意思呢?我们先稍微解释一下这个参数:OPTIMIZER_INDEX_COST_ADJ。它转载 2007-04-20 14:50:00 · 1209 阅读 · 0 评论 -
Review SQL- neglected SQL Keywords
1、Exists and AllEXISTS is used in subquery, when the return of the subquery have rows is True, else if no rows return is False. examples:SELECT Col1,Col2FROM Tb1WHERE EXISTS(SELECT *FROM Tb2 WHE原创 2007-04-19 20:16:00 · 879 阅读 · 0 评论 -
SQL各种写法的效率问题
经常可以遇到这种情况:用不同的SQL写法可以达到同样的目的。爱钻牛角尖的人就想搞明白,诚然结果一样,但到底孰优孰劣?下面是我列出的一些,请兄弟们赐教。也请兄弟们将你们遇到的类似问题一并列出。(1)一次插入多条数据时:CREATE TABLE tb(ID int, 名称 NVARCHAR(30), 备注 NVARCHAR(1000))INSERT tb SELECT 1,DDD,1UNI转载 2007-04-17 23:13:00 · 974 阅读 · 0 评论 -
Oracle轻松取得建表和索引的DDL语句
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们可以通过export with rows=no来得到,但它的输出因为格式的问题并不能直接拿来用。而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如IOT和嵌套表等,还是无法查到。 从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候。在Oracle 9i中,我们可以直接通过执行dbms_转载 2007-03-12 20:25:00 · 1571 阅读 · 0 评论 -
如何重新编译PLSQL中的无效对象或者指定的对象
Oracle Tips, Tricks & Scripts 1. Topic: Compiling Invalid Objects: Oracle8i and Oracle9i provides a script called utlrp.sql located in $ORACLE_HOME/rdb原创 2007-02-25 17:54:00 · 5832 阅读 · 2 评论 -
SQL查询连续号码段的巧妙解法
在ITPUB上有一则非常巧妙的SQL技巧,学习一下,记录在这里。最初的问题是这样的:我有一个表结构,fphm,kshm2014,000000012014,000000022014,000000032014,000000042014,000000052014,000000072014,000000082014,000000092013,000001202013,000001212013,0000转载 2007-02-25 17:21:00 · 2470 阅读 · 0 评论 -
Oracle PL/SQL中游标声明中表名动态变化的方法
/* 小弟刚刚接触ORACLE存储过程,有一个问题向各位同行求教,小弟写了一个存储过程,其目的是接收一个参数作为表名,然后查询该表中的全部记录的某一个字段的内容导入到另一个表中。 ( tabname in varchar ) is v_servicesname tabname.服务类型%type; --这个变量就是用来存放所要取得的字段内容,但不知该如何定义转载 2006-12-23 18:17:00 · 2521 阅读 · 1 评论 -
判断Oracle字段中是否存在中文《asciistr函数》
Oracle里面如何识别存储字段里面是否存在中文,方法有二:1、使用length和lengthb,如果中文的话length是一个字符,但是lengthb是两个字节。但是这个方法不适合数据库字符集非gbk的情况。select * from t where length(c1) != lengthb(c1); 2、使用asciistr函数得出是否字段里面包含“/”,因为当中文字符转换为原创 2009-02-23 19:16:00 · 4955 阅读 · 0 评论