![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
青城山下
不忘初心
展开
-
Oracle常用SQL
1.查询T表的字段a,字段b,字段c ;根据字段b分组,字段b排序,字段c等于24,每组的前三条数据select * from (select a,b,c,row_number() over(partition by b order by b desc) e from T where c=24) where e<42.根据usertype分组,将每组的name合并到一行显示...原创 2019-10-29 22:41:14 · 217 阅读 · 0 评论 -
soapUI:[0]DB组件访问数据库异常,Caused by: java.sql.SQLException: ORA-01830: 日期格式图片在转换整个输入字符串之 前结束
------参数输入:<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:int="http://inter.chinasoft.com/"> <soapenv:Header/> <soapenv:Body> <int:dyjy...原创 2018-06-25 17:02:43 · 1105 阅读 · 0 评论 -
oracle not in的时候查不出来数据,以一张表中的一个字段为条件,判断不在另一张表中的某个字段集合中查不出来数据
查询a表的数据,但是a表的id不等于b表的id的值,如果b表存在id为null的值,就会出现查询不到数据的情况;创建表a:create table a (id number(10),name varchar2(20));创建表b:create table b (id number(10),name varchar2(20));插入a表数据,其中两条和b不同:insert into a values...原创 2018-06-27 17:50:09 · 2325 阅读 · 0 评论 -
执行存储过程报错:ORA-06575: 程序包或函数 BB 处于无效状态
1、你的存储过程有错误,编译不通过。处理于无效状态。2、问题 a.存储过程中隐式游标的select 语句必须要有into子句。 如:select col1 into v_col1 from dba_tables where owner = 'ACM' col1为表中一字段,v_col1为一变量 b.在存储过程中访问视图dba_tables,没有权限,你需要显式授权。 如登录sy...原创 2018-07-16 11:14:47 · 41996 阅读 · 0 评论 -
ORA-02030: 只能从固定的表/视图查询、如何授权查询v$视图
如何授权查询v$视图在非sys,system用户的存储过程中,查询v$开头的视图,如v$mystat,v$statname等。这些视图查询是需要在sys下显示授权后才能在存储过程中使用。但是,如果我们使用grant on v$view to username,则会收到ORA-02030错误。如下所示:SQL> grant select on v$mystat to sco...转载 2018-07-16 21:07:20 · 6201 阅读 · 0 评论 -
org.hibernate.util.JDBCExceptionReporter - SQL Error: 17006, SQLState: null... 列名无效.could not exe...
2018-07-23 15:19:02,374 [http-bio-8080-exec-9] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 17006, SQLState: null2018-07-23 15:19:02,374 [http-bio-8080-exec-9] ERROR org.hibernate.util...原创 2018-07-23 15:36:44 · 4439 阅读 · 0 评论 -
内存溢出:Exception in thread "http-bio-8080-exec-3" java.lang.OutOfMemoryError: PermGen s
这是在Eclipse启动Tomcat的时候报的异常:xception in thread "http-bio-8080-exec-3" java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.de...原创 2018-07-18 18:59:56 · 4463 阅读 · 1 评论 -
SQL查询:无法转换为内部表示
SQL查询的时候报的异常:无法转换为内部表示,我这边是其中一个..hbm.xml文件类型和数据类型对应错误,数据库时varchar2,,配置文件是Integer类型解决思路:1. 检查实体类的Long类型参数与数据库中对应的字段是否匹配2. 如果检查O-R对应的字段类型没问题,则考虑DB中数据是否有问题,Hibernate中,String类型的数据可以插入到Long类型中,可是在查询时...原创 2018-07-27 17:41:31 · 2209 阅读 · 0 评论 -
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
错误原因:session.createQuery(hql).uniqueResult()代码导致的,当查询的结果集中的数据条数大于1的时候使用uniqueResult()方法就会出现该异常。 解决方法:方法1.使用query.List()例如: public boolean isExists(String Userid) { Session sessi...转载 2018-07-27 17:42:54 · 1074 阅读 · 0 评论 -
Oracle:ORA-00911: 无效字符
Hibernate的SQLQuery查询SQL的时候报的异常:ORA-00911: 无效字符;库是Oracle:打印sql直接在plsql中执行是没问题的,但是在java代码中执行的时候就会报异常:ORA-00911: 无效字符;其问题根源在SQL的最后结尾处的一个冒号";",应该去掉SQL最后的";",之后再重启就没问题了; ...原创 2018-08-14 18:21:42 · 49151 阅读 · 6 评论 -
Oracle数据库字段类型转换、Java代码接收数据库集合取char类型只取一位
今天做项目的时候,遇到一个问题,Hibernate取得数据库集合,然后转换成数组,其中字段类型为char的值,取值的时候只取第一位;百度了N多个方法,如to_char(),to_varchar,convert都不行,后来无意中看到一个帖子,试了一下,在从sql集合中读取数组的时候,就可以了,问题解决:一共发现两种方法,一个是同事推荐的,一个是网上搜索的的:SQL字段char类型转换为var...原创 2018-08-07 18:33:47 · 1438 阅读 · 0 评论 -
WebService 之 WSDL文件 讲解
WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的...转载 2018-05-25 14:46:32 · 922 阅读 · 0 评论 -
java.lang.UnsupportedOperationException: Update queries only supported through HQL at org.hibernate
java.lang.UnsupportedOperationException: Update queries only supported through HQL at org.hibernate.impl.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:753)........ at com.opensymphony.xwork....原创 2018-03-26 18:17:58 · 687 阅读 · 0 评论 -
游标查询,最好控制在1万条以内
游标查询,最好控制在1万条以内原创 2017-09-05 14:32:54 · 728 阅读 · 0 评论 -
Oracle修改表的字段类型
有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20));2、假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20));3、转载 2017-09-05 19:41:33 · 2375 阅读 · 0 评论 -
oracle中的exists 和not exists 用法
exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 表A和表B是1对多的关系 A.ID => B.AID SELECT ID,NAME FROM A WHERE转载 2017-08-28 17:03:08 · 376 阅读 · 0 评论 -
jpa SQL Error: 17006, SQLState: null,登陆提示列名无效
表中缺少字段,烦恼了好久,代码之前还是好的 ,然后更新了代码,结果登陆的时候控制台报错,列名无效,缺少视图或者表,查了好久才发现,原来同事添加的了字段,这边没有同步上,结果就出现了这种情况 ,添加缺少的字段之后,就可以正常登陆了原创 2017-09-29 14:26:20 · 5035 阅读 · 0 评论 -
根据不同的字段值 查询等于该字段值的记录数
字段:typeidselect sum(case when typeid=1 then count(typeid) else 0 end ) as , sum(case when typeid=2 then count(typeid) else 0 end )as , sum(case when typeid=3 then count(typeid) els原创 2017-12-29 18:38:16 · 298 阅读 · 0 评论 -
Oracle sql以某个汉字的字段的汉语拼音作为排序,java代码排序不能按要求显示序列号
问题一:order by nlssort(d.rname,'NLS_SORT=SCHINESE_PINYIN_M')在以汉字首字母拼音作为排序,只是用order by,我试了一下是不可以的,网上查了一下 ,这种排序OK。问题二:同时还有一个问题,在显示列表的时候,同时显示序列号,但是在排序的时候,再输出序列号rownum,就会出现序列号错乱的问题,因为我们使用java代码排序的,用原创 2018-01-22 19:21:16 · 311 阅读 · 0 评论 -
Caused by: java.sql.SQLException: ORA-00933: SQL 命令未正确结束
这个是我在查询视图拼接条件的时候遇到的异常:我的视图left join了6张表,网上查询了下,有的说是百度了下,大概说法如下:使用了含有ORDER BY或INNER JOIN子句的INSERT、DELETE语句使用了含有INNER JOIN子句的UPDATE语句使用了条件中含有自连接表字段比较的Triangular Join其实我的错误很简单,就是粗心造成的原创 2018-01-31 11:38:23 · 8103 阅读 · 0 评论 -
oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字
select case national when 1 then '汉族' end from info national字段是number类型10个长度,在数据库查询结果正常像是 如果是1就显示汉族;但是在java代码Hibernate查询的时候只能显示一个“汉”字,问了同事,不知道怎么回事,后来在网上看到一篇博客,明白了是怎么回事;常量在数据库中被认为是CHAR类型的,Hibernate转载 2018-01-31 16:03:33 · 999 阅读 · 0 评论 -
调整Oracles表内字段的顺序
工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段的位置。 1、原始方法:--新建临时表以存储正确的顺序create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;--删除表A_1drop table A_1;--新建A_1并从A_2表中赋予其正确的顺序和值create table转载 2018-01-19 20:18:49 · 334 阅读 · 0 评论 -
Java集合和字符串互转 异常:cannot be cast to java.lang.String
今天在对象集合转字符串的时候,我直接用的toString,报错对象不能转成字符串:*.*.* cannot be cast to java.lang.String刚开始直接用的toString()方法,可是不行,后来查了下,有的说是对象不能直接用toString()方法转接成字符串,后来找到了解决方法:List result = new ArrayList();String str原创 2018-01-29 17:46:27 · 17400 阅读 · 0 评论 -
在开发环境中update语句必须加exists条件,否则会出现查出来的行数错误
update 表1 d set d.字段1=(select t.字段2 from 表2 t where d.字段3=t.字段4 and t.字段2 is not null)where exists(select t.字段2 from 表2 t where d.字段3=t.字段4 and t.字段2 is not null)原创 2017-08-17 16:45:30 · 9623 阅读 · 0 评论