
oracle数据库
文章平均质量分 66
wangyanlong0107
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
oracle中的varchar2
今天做项目时候保存中文的时候出现错误:javax.servlet.ServletException:(HibernateTemplate): encountered SQLException [ORA-12899: 列"XX_XX_TEST"."TB_CNB_INDIACCOUNT"."C_ACCOUNT" 的值太大 (实际值: 50, 最大值: 36)]; neste...原创 2011-12-22 16:43:31 · 361 阅读 · 0 评论 -
【转】Oracle日期比较
1 日期比较select * from dual where sysdate > to_date('2000.8.5','yyyy.mm.dd')select * from dual where to_date('2012.8.5','yyyy.mm.dd') > to_date('2012.6.5,'yyyy.mm.dd')select * from dual w...原创 2012-09-12 09:12:39 · 358 阅读 · 0 评论 -
报错:使用hibernate字符串超长
在使用varchar2类型时必须指定其长度(最小1字节或字符数,最大4000字节) 在使用Hibernate进行数据存储的过程中,大家可能都会遇到一个问题,就是当存储的汉字超过666个汉字时varchar2(2000),数据库就会报出长度超出字段最大值的错误,这个问题是由于JDBC在转换过程中对字符串的长度做了限制。这个限制和数据库中字段的实际长度没有关系。是hibernate封...原创 2012-09-13 17:47:51 · 880 阅读 · 0 评论 -
oracle ASCII字符串<==>16进制串
sql中可以直接插入16进制字串表示的数据到blob表中。如果不是16进制的字符串pl/sql报无效的16进制数字异常。ASCII字符串==>16进制串create or replace function AscToHex(sIn IN varchar2)RETURN varchar2ISsTmp varchar2(4000);i integer;BEGINi:=1;stmp:=’...原创 2013-01-19 07:42:58 · 281 阅读 · 0 评论 -
[转]Oracle字符串拼接的方法
本文转自:http://www.blogjava.net/liuwuping12064915/archive/2011/06/27/353096.html和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。比如执行下面的SQL语句: SELECT '工号为'||FNumber||'的员工姓名为'||FName FR...原创 2015-04-09 14:43:02 · 647 阅读 · 0 评论 -
【转】Oracle中sign函数和decode函数的使用
Oracle中sign函数和decode函数的使用 1.比较大小函数SIGNsign(x)或者Sign(x)叫做符号函数,其功能是取某个数的符号(正或负):当x>0,sign(x)=1;当x=0,sign(x)=0;当x<0, sign(x)=-1;x可以是函数或计算表达式 2.流程控制函数DECODE在逻辑编程中,经常用到If – Then ...原创 2015-04-20 15:09:00 · 183 阅读 · 0 评论 -
【转】Oracle中group by用法
在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,使用聚组函数返回的是每一个组的汇总信息。使用having子句 限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。 在带有group by 子句的查询语句中,在s...原创 2015-04-21 18:22:00 · 196 阅读 · 0 评论 -
【转】 oracle单行函数
虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一个数据库自己所支持的操作函数,这些就是单行函数,而如果要想进行数据库开发的话,除了要会使用SQL之外 ,就是要多学习函数。单行函数主要分为以下五类:字符函数、数字函数、日期函数、转换函数、通用函数;一、字符函数字符函数的功能主要是进行字符串数据的操作,下面给出几个字符函数:UPPER(字符串 | 列):将输入的字符串变...原创 2015-04-22 10:17:08 · 115 阅读 · 0 评论 -
【转】Oracle数据库备份之exp/imp用法
---------------------------------------------------------------------------------------Oracle数据库备份---------------------------------------------------------------------------------------ORACLE数据库的逻辑...原创 2015-04-30 22:16:17 · 130 阅读 · 0 评论 -
【转】oracle存储过程、声明变量、for循环
oracle存储过程、声明变量、for循环 1、创建存储过程create or replace procedure test(var_name_1 in type,var_name_2 out type) as--声明变量(变量名 变量类型)begin--存储过程的执行体end test;打印出输入的时间信息E.g:create or replace proc...原创 2015-04-30 22:20:49 · 144 阅读 · 0 评论 -
【转】Oracle带输入输出参数的存储过程
(一)使用输入参数需求:在emp_copy中添加一条记录,empno为已有empno的最大值+1,ename不能为空且长度必须大于0,deptno为60。创建存储过程:create or replace procedure insert_emp(emp_name in varchar2, dept_no in number) as begin declare max_empno number; ...原创 2015-04-30 22:33:34 · 621 阅读 · 0 评论 -
【转】查看修改表空间sql语句
--所有表ower, 表名,表空间名select owner,table_name,tablespace_name from dba_tables;--每个表的大小SELECT t.segment_name,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') CNT_MB FROM user_segments ...原创 2015-05-01 16:26:52 · 598 阅读 · 0 评论 -
【转】ORA-12519错误解决方案
系统正常运行一个月后,上线第一天出现了下列错误,想了很久没有思路。java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))后来排查出数据库监听异常,发现是...原创 2015-05-04 19:54:26 · 331 阅读 · 0 评论 -
【转】Oracle创建表空间、创建用户以及授权
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。 对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。关系:一个大的数据中分为几个表空间,创建几个用户然后指定对应的表...原创 2015-05-04 20:00:13 · 123 阅读 · 0 评论 -
【转】Oracle导出表(即DMP文件)的两种方法
方法一:利用PL/SQL Developer工具导出:菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cmd的操作命令导出,详情如下(备注:方法二是转载网上的教程):1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.or...原创 2015-05-04 20:00:43 · 145 阅读 · 0 评论 -
【转】java 调用存储过程 实例
共4个一.只有输入参数没有返回结果的存储过程二. 有输入和有一个返回值的存储过程三、返回多行记录的存储过程(返回的是游标)四、Hibernate调用oracle存储过程 一.只有输入参数没有返回结果的存储过程建表 create table table_1(id varchar2(10),name varchar2(10)); --没有返回值的存储过程cr...原创 2015-05-06 14:55:39 · 111 阅读 · 0 评论 -
【转】oracle查询:取出每个分组中的第一条记录
排序后取第一条记录select * from (select * from table order by a )Cwhere rownum=1oracle查询:取出每组中的第一条记录按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info group by type; 注意...原创 2015-05-27 17:26:43 · 1150 阅读 · 0 评论 -
oracle连接plsql
oracle查看本机服务名在cmd命令窗口:?1 sqlplus / as sysdba; 1select instance_name from v$instance; ? 可以在你oracle安装目录,我的是:F:\oracle\pro...原创 2015-07-27 16:02:16 · 152 阅读 · 0 评论 -
【转】Oracle中Decode()函数使用技巧
decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想...原创 2012-11-19 14:36:05 · 144 阅读 · 0 评论 -
Union和Union All的区别
假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plaincopydrop table student; create table student ( id int primary key, name nvarchar2(50) not null, score numbe...原创 2012-11-09 15:17:17 · 106 阅读 · 0 评论 -
oracle中的rowid--伪列-删除表中的重复内容-实用
转自:http://tech110.blog.51cto.com/438717/168025 1、rowid是一个伪列,是用来确保表中行的唯一性,它并不能指示出行的物理位置,但可以用来定位行。2、rowid是存储在索引中的一组既定的值(当行确定后)。我们可以像表中普通的列一样将它选出来。3、利用rowid是访问表中一行的最快方式。4、rowid需要10个字节来存储,显示为1...原创 2012-11-09 15:15:29 · 218 阅读 · 0 评论 -
拼 姓名的触发器
--触发器--before触发器姓、名拼成姓名CREATE OR REPLACE TRIGGER TB_TBM_THIRDCLASS_TRIBEFORE INSERT OR UPDATE OF c_surname,c_firstname ON TB_TBM_THIRDCLASSFOR EACH ROWBEGIN IF :New.C_FIRSTNAME IS N...原创 2012-05-21 11:09:15 · 105 阅读 · 0 评论 -
oracle中translate函数
今天做项目时有个需求,自动生成员工工号。工号的生成规则是“前缀”+9+“000001开始的流水号”,如“GS9000001”,而且工号要连续,下一个流水号为“GS9000002”。 思路,找oracle数据库中员工工号c_code列9后面的字符串,计算最大值,然后+1生成流水号,在前台加上前缀。 SELECT max(to_number(trim(substr(c...2011-11-12 13:15:48 · 201 阅读 · 0 评论 -
JDBC中sql都是分号“;”惹的祸
工号问题,用jdbc执行“SELECT max(to_number(translate(trim(substr(c_code,instr(c_code,'9'))),'0123456789'||trim(substr(c_code,instr(c_code,'9'))),'0123456789') ,'9999999999999999999'))FROM tb_inf_employee;”的时...2011-11-12 14:13:30 · 2398 阅读 · 0 评论 -
【转】ORACLE执行计划的一些基本概念
一.相关的概念Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值。不过你可以像使用其它列那样使用它,但是不能删除改列,也不能对该列的值进行修改、插入。一旦一行数据插入数据库,则rowid在该行的生命周期内是唯一的,即即使该行产生行迁移,行的rowid也不会改变。Rec...原创 2012-05-29 17:47:30 · 92 阅读 · 0 评论 -
【转】Oracle开发人员应该具备的几个资源
很多开发者,舍近求远,愿意花大价钱到书店买Oracle的大头书,我认为是没有什么必要了,除非你是为了保护视力。在Oracle提供免费下载的Oracle文档资料中,已经具备了你需要的所有资源。这里根据我的经验,做一个简单的介绍,希望对大家有帮助: Oracle提供的帮助手册,其中有几部资料必须要看的,或者是经常要查看的。 1,SQL Reference 经常看。不管是数据库开...原创 2012-02-28 09:50:25 · 85 阅读 · 0 评论 -
【转】数据库开发谈:Oracle中rownum用法总结
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。(1) rownum 对于等于某值的查询条件如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。...原创 2012-02-28 10:18:18 · 612 阅读 · 0 评论 -
oracle--ORA:04091:触发器/函数不能读它
第一次写触发器,就有bug了 前台用ajax保存用户的修改和删除,这时需求要加个触发器,在修改和删除时修改其他表的字段,加完触发器,点保存,前台弹出js错误,以为是js写的有误,结果查了半天js发现是ajax返回是出错。 后台则为:2012-02-28 13:05:11,960 WARN [http-8080-Processor23] [RequestProcessor] U...原创 2012-02-29 13:22:08 · 1394 阅读 · 0 评论 -
触发器后记
终于修改好了触发器,对于使用自治事务的行级触发器,需要判断正在修改的数据的比较,之前一直写错了,这回来个最终版本的,之前的错误是rownum引起的。select * From (select rownum rn,表.* from 表) where rn = 2 rownum使用=号时需要使用别名=====================================...原创 2012-03-02 17:52:07 · 88 阅读 · 0 评论 -
【转】oracle中sql语句字符相连接的写法
错误的写法: update yz_seqno set order_no = (tran_brch,4,8) + substr(to_char(plat_date,'yyyymmdd'),5,8) + substr(order_no,10,12)正确的应该是: update yz_seqno set order_no = (tran_brch,4,8) || su...原创 2012-03-31 16:12:40 · 122 阅读 · 0 评论 -
【转】oracle实现id自增和设置主键
1、关于主键:在建表时指定primary key字句即可:create table test( id number(6) primary key, name varchar2(30));如果是对于已经建好的表,想增加主键约束,则类似语法:alter table test add constraint pk_id primary key(id); 其中add ...原创 2012-03-31 16:34:37 · 321 阅读 · 0 评论 -
Oracle中的rownum
转自:http://blog.youkuaiyun.com/educast/article/details/6990540一、对rownum的说明 关于Oracle 的 rownum 问题,很多资料都说不支持SQL语句中的“>、>=、=、between...and”运算符,只能用如下运算符号“<、<=、!=”, 并非说用“>、>=、=、betwe...原创 2012-11-08 18:58:23 · 102 阅读 · 0 评论 -
oracle distinct用法+删除重复记录
转自:http://blog.tianya.cn/blogger/post_read.asp?BlogID=144699&PostID=14525538 oracle distinct语句的用法 创建视图时过滤数据 distinct的只显示一次重复出更的值。 不过这个值出现多少次只显示一次。 select distinct 字段名1,字段名2 from 表格 order by ...原创 2012-11-08 19:00:11 · 677 阅读 · 0 评论 -
ORACLE分页SQL语句
一个非常好的ORACLE的分页SQL语句 select * from (select my_table.*, rownum as my_rownum from ( select yhbh, yhmc from yysf_tb_yonghxx order by yhbh) my_table where rownum <20 ) where my_rownum>=10-----...原创 2012-11-08 19:00:48 · 97 阅读 · 0 评论 -
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值
函数声明:nvl(col,val) 说明:当col为空时取val作为返回值,当col不为空时取col值。 用处:最主要的是格式化数据,比如计算金额时,不想出现空数据,可以使用nvl(JINE,0)来得到0。由于null+(或-,*,/)数字等于null,所以在表达式中对可能为空的值要使用nvl由于null!=null,有时对可能为空的列进行条件查询时,可能出现结果集丢失数据问题,加上nvl就不会了...原创 2012-08-02 11:10:28 · 824 阅读 · 0 评论 -
oracle--自定义函数timestamp转date
--timestamp转换为date Create or replace function convert_ts_to_date(tstamp timestamp) return date isV_DATE date;V_DAY VARCHAR2(2);V_MONTH VARCHAR2(2);V_YEAR VARCHAR2(4);BEGINV_DAY:=EXTRA...原创 2012-08-02 15:03:17 · 177 阅读 · 0 评论 -
在union all中使用order by 报错的解决方案
//解法一: select * from ( select col_1,col_2,col_3,status from t where status >= 0 order by status) union all select * from ( select co...原创 2012-08-06 17:40:22 · 591 阅读 · 0 评论 -
Oracle数据库date类型与Java中Date的联系与转化
转自:http://blog.youkuaiyun.com/tiaozhanzhe0321/article/details/5713138以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助。new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当前。new Date(long date) : 分配 Date 对象并初...原创 2012-11-09 15:14:24 · 843 阅读 · 0 评论 -
【转】数据库事务的四大特性以及事务的隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ ...原创 2017-10-12 23:09:33 · 114 阅读 · 0 评论