
oracle
洪小灯
这个作者很懒,什么都没留下…
展开
-
oracle 创建存储过程
存储过程的创建存储原创 2014-10-21 09:27:25 · 453 阅读 · 0 评论 -
oracle 将获取到的两行数据,拼接为两列
如果光看题目的话,肯定会感觉很简单,但是运用到实际中就很麻烦了。需求:主表对应子表 一对多,现在对应主表一条记录,可能对应子表多条记录,将这些记录汇总到一行中,考虑到主表记录可能比较多,只需要,回去两个就可以了。先来看一下我的查询语句: select V.memvipmember_id, V.vipcode, decode(V.vipsource, 1, '商场', 2, '微信'原创 2014-12-25 15:06:00 · 3213 阅读 · 1 评论 -
SQL语句中count(1)和count(*)的区别
最近使用count函数比较多,当要统计的数量比较大时,发现count(*)花费的时间比较多,相对来说count(1)花费的时间比较少。查了一些文档有以下的说法:如果你的数据表没有主键,那么count(1)比count(*)快 如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快 如果你的表只有一个字段的话那count(*)就是最快的啦原创 2014-12-29 14:46:48 · 22646 阅读 · 1 评论 -
decode 和 cast 的使用
decode 在oracle 使用算是比较频繁的函数了,毕竟有很大的作用,主要是将一个字段转换为其他字段比如:select decode(sex,1,'男',2'女')as sex from 表名;这里有两点需要注意:1,不要忘了起别名,不然列名比较长2,在列名多余一个汉字时,要结合cast函数一起使用,否则可能显示不全cast 用法:cast是类型转换函数 s原创 2014-12-12 12:11:47 · 960 阅读 · 0 评论 -
oracle 查看表结构
获取表:select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select table_name from dba_tables wher原创 2014-12-15 12:17:42 · 859 阅读 · 0 评论 -
oracle connect by level 的用法
connect bylevel 是oracle中一组关键字,是用来实现递归查询的,譬如说实现查询 1,2,3,4 .....n 的数字可以使用connectby level SQL语句如下: select level +1 from dual where connect by level 这种方式可以实现查询1到n的数字,共有n行 前端时间开发一个会员原创 2014-12-30 20:07:15 · 16763 阅读 · 5 评论 -
oracle 中 number 和varchar2的效率
今天在执行一个SQL的时候数据库中保存的是varchar2的一串数字,使用的方式是 select count(1) from tb_memcardinfo where vipcode between 100001 and 100021 这种方式所花费的时间大约1.2 s(对应的表中大约有4百万条数据),修改为select count(1) from tb_memcardinfo原创 2014-12-31 12:51:11 · 3733 阅读 · 0 评论 -
oracle 递归查询属于本部门以及下属部门
oracle使用递归查询要使用 connect by语句下面给出一个实例:select PUBCB_id,PUBCB001,PUBCB002 from TB_PUBCB start with PUBCB_id = 136connect by prior PUBCB_id = PUBCB004; 解释:PUBCB004 是关联字段,查询id为136名下的所有部门原创 2015-01-05 15:21:26 · 3815 阅读 · 0 评论 -
oracle 新建用户名 并为用户授权
今天在别的数据库转存的sql文件,但是有用户名的限制。这个时候就要新建对应的用户名,并为用户授权具体步骤如下:建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create session to 用户名; grant create table to 用原创 2015-03-19 16:08:24 · 757 阅读 · 0 评论 -
64 位oracle 安装 plsql
我一直在想安装plsql,但是由于是64位的oracle ,一直没有成功。前段时间,安装的时候也有人误导了我,认为64 位安装plsql很麻烦。但是在最近的一次安装中发现还是简单的。需要的文件: instantclient-basic-win32-11.2.0.1.0安装步骤:1、下载文件 instantclient-basic-win32-11.2.0.1.0,plsql安装包原创 2015-04-14 15:53:16 · 601 阅读 · 0 评论 -
oracle 表或试图不存在
今天在使用navicat 新建 oracle 的数据表,在使用 查询语句的时候 提示表或试图不存在,但是给表名加上双引号后就可以正常了,不使用双引号就提示这个这个错误。最终也没有找到比较合适的解决方案,就把表删除重新建了一下。不过这给我t提了一个醒,在新建表的时候,最好使用sql语句新建表,不要使用工具来建立表,这样能避免很多不必要的错误。原创 2015-04-27 22:43:49 · 1540 阅读 · 0 评论 -
oracle rownum函数介绍
最近由于一个查询语句来使用rownum来进行查询,要求结果是查到地址1和地址2,地址信息保存在一张表现在要求在一条记录中显示地址1和地址2,地址可能为空 地址1很好获取,只需在查询的结果中加入rownum = 1 即可,但是获取地址2的时候就麻烦了如果加上 rownum between 2 and 2 ,不会查到结果,加上 rownum > 1 and rownum 是这样的:原创 2014-12-25 11:03:33 · 7720 阅读 · 0 评论 -
oracle 分析函数完成号码区段的统计(连续的,不连续的加一条记录)
建表语句:CREATE TABLE "DY"."TB_MEMCARDINFO" ("MEMCARDINFO_ID" NUMBER NOT NULL ,"VIPCLASS_ID" NUMBER NULL ,"VIPCODE" VARCHAR2(20 BYTE) NULL ,"CARDSTATUS" VARCHAR2(2 BYTE) NULL ,"CREATE_USER" VARCHAR原创 2014-12-24 13:35:50 · 731 阅读 · 0 评论 -
oracle 操作数据表结构
作为程序开发人员要接触到数据库操作原创 2014-10-23 10:00:29 · 469 阅读 · 0 评论 -
数据库操作中 union 和 union all
一、UNION和UNION ALL的作用和语法UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同. SELECT column_name FROM table1UNIONSELECT column_na原创 2014-11-11 15:02:15 · 2374 阅读 · 0 评论 -
oracle 启动 cent os
在cent os系统中安装oracle 成功以后原创 2014-10-25 22:31:59 · 650 阅读 · 0 评论 -
oracle 表解锁方法
1.获取出sid,serial 用于解锁的参数select s.username, s.osuser, s.sid, s.serial#, p.spid from v$session s,v$process pwhere s.paddr = p.addr and s.username is not null;select 'alter system kill sessi转载 2014-10-22 08:39:19 · 531 阅读 · 0 评论 -
oracle 一些基本操作
用户解锁 alter User 用户名 identified by 密码 查看数据库原创 2014-10-23 15:41:28 · 471 阅读 · 0 评论 -
oracle 给表加锁
oracle 给表加锁 lock table 表名 exclusive mode nowait; -- 锁整个表select * from 表名 where XXX for update nowaitl -- 锁符合条件的记录原创 2014-10-22 08:32:25 · 2214 阅读 · 0 评论 -
oracle 触发器详细
ORACLE PL/SQL编程之八:把触发器说透本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2 创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 创建系统事件触发器8.2.4 系统触发器事件属性8转载 2014-10-21 09:40:02 · 452 阅读 · 0 评论 -
oracle 定时器
oracle 定时器 oracle原创 2014-10-21 09:29:17 · 1021 阅读 · 0 评论 -
Oracle 创建和修改sequence
Oracle 创建和修改sequence 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -转载 2014-10-21 09:12:38 · 1016 阅读 · 0 评论 -
union 和 union all的区别
在SQL语句中经常使用 union来进行多个结果集的连接,union是将结果集进行查重,然后将重复的保留一个,union all是单纯的将结果集进行拼接值得一提的是在使用 union 和 union all 不能使用 order by 进行排序不然后报错。原创 2015-01-30 15:32:21 · 500 阅读 · 0 评论 -
数据库 left join,right join 和inner join
我使用的是mysql数据库,原创 2014-11-11 15:19:30 · 467 阅读 · 0 评论