数据库
岸似达春绿
大龄Java程序员
展开
-
Oracle 数据库 Record is locked by another user 问题解决办法
在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user!当出现这种情况的时候,只要操作下面几个步骤就可以解锁了。 sele转载 2011-10-19 10:27:15 · 11551 阅读 · 1 评论 -
SQL查找删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)如何查找重复行 第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本cr转载 2013-02-19 11:26:18 · 12367 阅读 · 0 评论 -
oracle树形结构由子节点递归得到父节点
在oracle中如何从子节点记录向父节点上溯?比如有一个表:guid parentguid1 02 13 14 25 26 57 58 7我们从GUID为1根据parentguid关系可以查出该GUID下的所有子节点.现在要从某一子节点如GUID为7转载 2012-07-03 23:26:29 · 15307 阅读 · 0 评论 -
oracle行列转换
在重构公司一个项目的时候,发现一个bug,修正时需要使用到oracle的行列转换,虽然本人不懂,但百度是我最好的老师,网上搜到一篇文章,介绍的非常详细:1、固定列数的行列转换 如:student subject grade --------------------------- student1 语文 80 student1 数学 7原创 2012-06-30 22:27:45 · 6764 阅读 · 1 评论 -
oracle中将number类型毫秒值转为时间类型
在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的,1323957678114132132699429513221293068041322129716220猜到应该是1970年1月1号0点0分距现在的毫秒值。解决办法是写一个转换函数:create or replace function num_to_date(in_numb原创 2011-12-19 08:51:19 · 12349 阅读 · 4 评论 -
Oracle分页查询语句(六)
这篇文章通过例子说明分页查询使用的NESTED LOOP操作,在分页查询翻到最后几页时的性能问题:SQL> CREATE TABLE T AS SELECT * FROM DBA_USERS;表已创建。SQL> CREATE TABLE T1 AS SELECT * FROM DBA_SOURCE;表已创建。SQL> ALTER TABLE T ADD CONSTRAINT P转载 2011-10-31 12:23:23 · 1325 阅读 · 0 评论 -
Oracle分页查询语句(四)
最后的例子说明内部循环包含排序的情况:SQL> CREATE TABLE T AS SELECT * FROM DBA_OBJECTS;表已创建。SQL> CREATE INDEX IND_T_OBJECT_NAME ON T (OBJECT_NAME);索引已创建。SQL> ALTER TABLE T MODIFY OBJECT_NAME NOT NULL;表已更改。转载 2011-10-31 12:21:15 · 1808 阅读 · 0 评论 -
Oracle分页查询语句(三)
继续看查询的第二种情况,包含表连接的情况:SQL> CREATE TABLE T AS SELECT * FROM DBA_USERS;表已创建。SQL> CREATE TABLE T1 AS SELECT * FROM DBA_SOURCE;表已创建。SQL> ALTER TABLE T ADD CONSTRAINT PK_T PRIMARY KEY (USERNAME);转载 2011-10-31 12:01:55 · 1661 阅读 · 0 评论 -
Oracle分页查询语句(七)
在文章的最后看一下ORDER BY STOPKEY和ORDER BY在翻页查询的最后几页的性能差异:SQL> CREATE TABLE T AS SELECT A.* FROM DBA_OBJECTS A, DBA_USERS B, TAB;表已创建。SQL> SELECT COUNT(*) FROM T;COUNT(*)----------458064SQL> EXE转载 2011-10-31 12:24:28 · 1557 阅读 · 0 评论 -
Oracle分页查询语句(五)
前面的各种例子已经说明了分页查询语句的标准写法所带来的性能提升。这里简单总结一下,并简单的说明分页查询语句在何时无法带来性能提升。分页查询语句之所以可以很快的返回结果,是因为它的目标是最快的返回第一条结果。如果每页有20条记录,目前翻到第5页,那么只需要返回前100条记录都可以满足查询的要求了,也许还有几万条记录也符合查询的条件,但是由于分页的限制,在当前的查询中可以忽略这些数据,而只需尽转载 2011-10-31 12:22:18 · 2596 阅读 · 0 评论 -
Oracle分页查询语句(二)
这篇文章用几个例子来说明分页查询的效率。首先构造一个比较大的表作为测试表:SQL> CREATE TABLE T AS SELECT * FROM DBA_OBJECTS, DBA_SEQUENCES;表已创建。SQL> SELECT COUNT(*) FROM T;COUNT(*)----------457992首先比较两种分页方法的区别:SQL> SET AUT转载 2011-10-31 12:00:25 · 1717 阅读 · 0 评论 -
Oracle分页查询语句(一)
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM )WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页转载 2011-10-31 11:58:08 · 2803 阅读 · 0 评论 -
oracle设置自动增长列
1.建表create table VACATION( ID number(8) primary key, TITLE VARCHAR2(200), MATTER VARCHAR2(200), APPLYER VARCHAR2(20), STARTTIME VARCHAR2(20), ENDTIME VARCHAR2(2原创 2011-11-14 16:18:01 · 2148 阅读 · 4 评论 -
Oracle 聚合函数解决聚集连接字符串问题
需求:给定数据表:wm_testcode name1 a1 b1 c2 中2 国2 人需要的结果(分隔符可以由参数输入):code name1 a,b,c2 中,国,人这个问题在可以使用Oracle的wmsys.wm_concat 函数解决:select wt.code, wm_concat转载 2013-07-26 17:50:35 · 11712 阅读 · 2 评论