草庐IT

maven添加oracle的依赖驱动

目录1、下载需要的jdbcjar包2、下载jar包3、在当前目录下输入cmd进入控制台4、控制台输入命令解释5、执行后有如下就表示成功6、在maven配置1、下载需要的jdbcjar包查询自己的oracle的版本信息,下载相应的驱动jar包select*fromv$version;2、下载jar包方式1、官网地址:点击下载官网地址下载完成后放在任意的目录下,最后建议放在方式2的目录下方式2:查看自己的oracle的安装目录:我的目录是:D:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib下发现有ojdbc6.jar.所以不用下载了,直接用3

ORACLE常见报错ORA-00001: 违反唯一约束条件 --解决方法

1.问题原因分析出现这个问题的原因是插入数据的时候,由于之前没有使用序列插入,而是直接插入了一个比当前序列nextval还大的值,即直接将id写死了。后面再使用序列插入的时候,如果序列小于该值的话,是可以正常插入的,当序列号等于之前通过ID写死的方式插入的ID值时,就会出现这种情况。2.解决方案--查询出约束对应的表以及对应字段selecta.constraint_name,a.constraint_type,b.column_name,b.table_namefromuser_constraintsainnerjoinuser_cons_columnsbona.table_name=b.ta

Oracle 序列学习与使用总结

Oracle序列学习与使用总结by:授客QQ:1033553122简述序列是oracle提供的用于生成一系列数字的数据库对象,序列会自动生成顺序递增的序列号,可用于提供唯一的自动递增主键。序列和视图一样,并不占用实际的存储空间,只是在数据字典中保存他的定义信息。创建序列当创建序列时必须拥有createsequence或者createanysequence系统权限。CREATESEQUENCEsequenceName//创建序列名称[INCREMENTBYn]//序列递增值如果n是正数就递增,如果是负数则递减默认是1[STARTWITHn]//序列起始值,递增默认是minvalue递减是maxv

Oracle字符集不匹配导入dmp文件报错

在做文件迁移的时候在本地导出了一份dmp的备份文件,结果导入服务器的数据库的时候报错这个时候我们可以执行以下sql查看一下服务器的数据库字符集是什么select*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';  这个时候可以看到是AL32UTF8,但是我本地的字符集是ZHS16GBK,那就需要在执行exp导出前先修改一下我电脑的字符集,打开cmd输入setNLS_LANG=SIMPLIFIEDCHINESE_CHINA.AL32UTF8这样就可以把我本机的字符集设置为跟客户端一样的了,然后再去执行导出,导出的dmp文件

maven添加oracle的依赖驱动

目录1、下载需要的jdbcjar包2、下载jar包3、在当前目录下输入cmd进入控制台4、控制台输入命令解释5、执行后有如下就表示成功6、在maven配置1、下载需要的jdbcjar包查询自己的oracle的版本信息,下载相应的驱动jar包select*fromv$version;2、下载jar包方式1、官网地址:点击下载官网地址下载完成后放在任意的目录下,最后建议放在方式2的目录下方式2:查看自己的oracle的安装目录:我的目录是:D:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib下发现有ojdbc6.jar.所以不用下载了,直接用3

Oracle 删除大量表记录操作总结

By:授客QQ:1033553122删除表数据操作清空所有表记录TRUNCATETABLEyour_table_name;或者批量删除满足条件的表记录BEGINLOOPDELETEFROMyour_table_nameWHERErownum释放表空间存放大数据量的表,其表空间占用也比较大,删除数据后并不会自动释放这些记录占用的表空间,所以,即便表里面数据量很少,查询效率依旧很慢,所以,需要释放表空间。--查询数据表占用的表空间大小SELECTsum(bytes)/(1024*1024)FROMuser_segmentsWHEREsegment_name='YOUR_TABLE_NAME';--

Oracle 删除大量表记录操作总结

By:授客QQ:1033553122删除表数据操作清空所有表记录TRUNCATETABLEyour_table_name;或者批量删除满足条件的表记录BEGINLOOPDELETEFROMyour_table_nameWHERErownum释放表空间存放大数据量的表,其表空间占用也比较大,删除数据后并不会自动释放这些记录占用的表空间,所以,即便表里面数据量很少,查询效率依旧很慢,所以,需要释放表空间。--查询数据表占用的表空间大小SELECTsum(bytes)/(1024*1024)FROMuser_segmentsWHEREsegment_name='YOUR_TABLE_NAME';--

oracle实现自增的方法和碰到的问题

众所周知,Oracle是没有办法像Mysql里用AUTO_INCREMENT实现自增的。但是Oracle可以通过序列实现自增。--以下是oracle12c的方法createsequencetemp_seqincrementby1startwith1001;--创建一个简单的序列createtabletemp(idnumberdefaulttemp_seq.nextvalprimarykey,namevarchar2(20));--创建一个表insertintotemp(name)values('测试');insertintotemp(name)values('测试');select*fromt

oracle实现自增的方法和碰到的问题

众所周知,Oracle是没有办法像Mysql里用AUTO_INCREMENT实现自增的。但是Oracle可以通过序列实现自增。--以下是oracle12c的方法createsequencetemp_seqincrementby1startwith1001;--创建一个简单的序列createtabletemp(idnumberdefaulttemp_seq.nextvalprimarykey,namevarchar2(20));--创建一个表insertintotemp(name)values('测试');insertintotemp(name)values('测试');select*fromt

Oracle实现金额小写转大写函数

Oracle实现金额小写转大写函数今天工作的时候遇到了,然后上网百度了一下,发现了有个大佬写了一个很牛的函数,在此记录下来。原文:http://www.itpub.net/thread-240281-1-1.html函数代码:createorreplacefunctionF_upper_money(p_numinnumberdefaultnull)returnnvarchar2is/*Ver:1.0CreatedByxsbon2003-8-18For:将金额数字(单位元)转换为大写(采用从低至高算法)数字整数部分不得超过16位,可以是负数。Ver:1.1ModifiedByxsbon2003-