数据库
文章平均质量分 63
爪爪的瓜瓜
这个作者很懒,什么都没留下…
展开
-
关于oracle中的通用函数的点滴
这篇文章主要记录的是oracle中的通用函数在oracle中通用函数有4个:NVL (expr1, expr2) NVL2 (expr1, expr2, expr3) NULLIF (expr1, expr2) COALESCE (expr1, expr2, ..., exprn) lNVL (expr1, expr2) 将空值转换成一个已原创 2013-04-18 21:14:23 · 1586 阅读 · 0 评论 -
oracle的dmp文件的导入与导出
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 8i 中转载 2013-08-08 21:41:33 · 572 阅读 · 0 评论 -
PL/SQL上报ORA-01002提取违反顺序
ORA-01002 ORA-01002: fetch out of sequence Cause: This error means that a fetch has been attempted from a cursor which is no longer valid.Note that a PL/SQL cursor loop implicitly does fetches原创 2013-08-13 16:13:41 · 9841 阅读 · 2 评论 -
oracle中的distinct关键字的用法和效果
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。 下面先来看看例子: table表 字段1 字段2 id name 1转载 2013-09-02 22:21:39 · 1159 阅读 · 0 评论 -
PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE 方法的区别
在PL/SQL中在执行SQL语句时可以直接写SQL或者可以把一个SQL语句拼成一个字符串,如下:select * from dual;v_sql:='select * from dual'; EXECUTE IMMEDIATE v_sql; 一般来说直接写SQL的性能是高于拼字符串的,因为如果执行拼字符串的需要内部自动调动oracle机制,先解析字符串映射成SQL语句然后再执行。原创 2013-09-27 17:20:53 · 1067 阅读 · 0 评论 -
group by新的理解
以前理解的group by 字句是不返回重复的结果的,确实是这样测试如下table : tool1数据:id name4 ccc2 aaa3 bbb1 aaaSQL: select name from tool1 group by name having count(name)>1 返回的结果为 aaa。 毫无疑问这是正确的结果。 如果 SQL:s原创 2013-10-23 00:33:29 · 839 阅读 · 0 评论 -
oracle中关于rownum的用法
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。举例说明:例如表:student(学生)表,表结构为:ID char(6) --学号name VARCHAR2(10) --姓名 create t转载 2013-11-19 12:35:04 · 658 阅读 · 0 评论 -
voltdb官方文档翻译(一)
最近研究voltdb,发现网上的资料很少。但是官网的文档讲述的还是挺清楚的。所以就把看后的观点记录下来,方便后来人,废话不多说,进入正题。 首先,voltdb是什么。它是一款内存数据库,号称实现了ACID和事务隔离,快速解决大数据量和大并发量的秒级相应。本人实际使用了一下感觉还是蛮好的。因为voltdb遵循SQL语法,所以命令行是支持一般的SQL语句的。以后会提到。 下面就原创 2014-01-24 17:20:33 · 1117 阅读 · 1 评论 -
oracle集合查询
关键字: 1、UNION:并集,所有的内容都查询,重复的显示一次; 2、UNION ALL:并集,所有的内容都显示,包括重复的; 3、INTERSECT:交集,只显示重复的; 4、MINUS:差集,只显示对方没有的(跟顺序是有关系的) 例子: 在scott用户下,创建表emp2,该表只包含emp中20部门员工的信息: 代码:create ta转载 2014-08-14 14:49:30 · 366 阅读 · 0 评论 -
通过数据字典来查询表的字段,写一个存储过程输入一个表名然后把列存进一个表中
create or replace package body PACK_ADD_COLUMN isprocedure p_add_column( P_IN_TABLENAME IN VARCHAR2 DEFAULT NULL, P_OUT_STATUS OUT VARCHAR2 ) as /* P_OUT_STATUS:='ok';*/ v原创 2013-08-08 17:10:59 · 1197 阅读 · 0 评论 -
oracle中的表分区详解
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作.(1.) 表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是转载 2013-08-19 13:45:46 · 417 阅读 · 0 评论 -
oracle中关于ANL,SOME,ALL解析
本文转自:http://www.cnblogs.com/Ronger/archive/2011/12/28/2305175.html因为很少用到, 所以几乎忘记了这几个函数, 不过它们还是很有用的使用它们可以大大简化一些SQL文的语法, 至于效率问题, 如CCW所说它们和EXISTS, IN 之类没有什么差别, 而且要具体问题具体分析其中ANY和SOME在意思上是相同的, 可以转载 2013-04-18 23:24:56 · 615 阅读 · 0 评论 -
oracle中关于单引号和双引号的几点注意
双引号的作用是:如果创建对象的时候,对象名、字段名加双引号,则表示Oracle将严格区分大小写,否则Oracl都默认大写;双引号一般是用来转义的,如果alias里面有空格或其它保留符号,必须使用双引号。在ORACLE的SQL语句中如果要定义列的别名有两种方式,要么别名什么引号都不加,要么别名用双引号修饰。但这两种写法有区别。如果别名什么都不加,在查询结果显示的列名默认的都是大写(如果别名是中文转载 2013-04-19 00:38:44 · 2869 阅读 · 0 评论 -
oracle集合查询
集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT , MINUS。当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配。 集合操作符具有以下注意事项: * 集合操作符不适用于LOB、VARRAY和嵌套表列。 * UNION、INTERSECT、MINUS操作符不使用于 LONG列。 * 如果选择列表中包含转载 2013-07-31 11:26:25 · 440 阅读 · 0 评论 -
select 1 from 浅析
今天看到项目代码里有这条语句,不懂select 1 from XXXXXXX里的1是何意,查了一番才知道:1、select 1 from mytable;与select anycol(目的表集合中的任意一行) from mytable;与select * from mytable 作用上来说是没有差别的,都是查看是否有记录,一般是作条件用的。select 1 from 中的1是一常量,查到的所转载 2013-08-01 10:32:38 · 749 阅读 · 0 评论 -
mysql中实现查询前几条记录
SELECT * FROM table LIMIT 5; select * from issu_info limit 0,6 Limit 0,6 这里是对的,显示前6条 select * from issu_转载 2013-08-02 09:58:35 · 771 阅读 · 0 评论 -
oracle中distinct和group by的区别
其实二者没有什么可比性,但是对于不包含聚集函数的GROUP BY操作来说,和DISTINCT操作是等价的。不过虽然二者的结果是一样的,但是二者的执行计划并不相同。在Oracle9i中:SQL> SELECT * FROM V$VERSION;BANNER-----------------------------------------------------------转载 2013-08-02 10:02:38 · 7408 阅读 · 0 评论 -
oracle 的 REF CURSOR小结
利用REF CURSOR,可以在程序间传递结果集(一个程序里打开游标变量,在另外的程序里处理数据)。也可以利用REF CURSOR实现BULK SQL,提高SQL性能。REF CURSOR分两种,Strong REF CURSOR 和 Weak REF CURSOR。Strong REF CURSOR:指定retrun type,CURSOR变量的类型必须和return转载 2013-08-02 10:37:36 · 848 阅读 · 0 评论 -
oracle的%NOTFOUND
文档中的解释:It returns TRUE if an INSERT, UPDATE, orDELETE statement affected no rows, or a SELECT INTO statement returned no rows. Otherwise, it returnsFALSE.这个解释更加精妙:%NOTFOUND is the logical oppo转载 2013-08-02 15:25:05 · 1884 阅读 · 2 评论 -
mysql大数量sql查询导致oom错误
最近在做数据迁移,使用的sql语句没有添加where条件,导致客户端程序报oom错误。是因为jdbc默认会把查询结果集全部返回到客户端导致oom错误。查找资料发现mysql的jdbc还支持以流的形式访问结果集。每当调用ResultSet的next()方法时返回部分数据。不会导致oom。设置如下方法一:preparStat= conn.prepareStatement(sql,原创 2015-12-29 23:42:26 · 3710 阅读 · 0 评论