Oracle
豫章君
这个作者很懒,什么都没留下…
展开
-
java怎么连接Oracle数据库
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import java.util.Properties;public class test {private原创 2021-09-17 09:25:08 · 297 阅读 · 0 评论 -
Oracle记录被锁死的解决办法
1、查看数据库锁,诊断锁的来源及类型:select object_id,session_id,locked_mode from v$locked_object;2、找出数据库的serial#,以备杀死:select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;3、杀死该sessio原创 2021-06-16 14:20:36 · 931 阅读 · 0 评论 -
oracle中的connect by函数的使用
现有表Table_one,表中数据为:现在查找一下id为001001的子孙后代select * from Table_onestart with id = ‘001001’connect by prior id = parentid结果为:语法:select * from table [start with condition1]connect by [prior] id=parentid解析: condition1 为条件,表示从哪个地方开始查。 id 为后代id,parenti原创 2021-04-12 18:33:22 · 605 阅读 · 0 评论 -
oracle中的多表关联修改
update Table_one t set t.result=(select p.result from Table_two p where t.status_id=p.id)where exists(select 1 FROM Table_two p where t.status_id=p.id);将Table_one表中的result字段符合条件的的值 全部修改为Table_two 表中的值。原创 2021-04-12 18:12:51 · 3738 阅读 · 0 评论 -
Oracle数据库中复制表数据
1、新增一个表,通过另一个表的结构和数据:create table tab2 as select * from tab1;2、如果表存在: insert into tab2 select * from tab1;3、同一个表中,将A字段的值赋给B字段: update table_name set B = A;4、将一个表的字段数据插入到另一个表的字段数据中 insert into tab2 (t_code, t_name) select pk_code, pk_name fr原创 2021-03-01 18:11:31 · 656 阅读 · 2 评论 -
oracle中的分组加排序
1.分组一般用group by。但是group by也有局限性,就在以某个字段分组时,再查找其他字段,就得使用分组函数。现在分享一下另一种分组排序:row_number() over()2.语法row_number() over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再原创 2020-12-04 15:50:09 · 1452 阅读 · 0 评论 -
oracle中的分页操作
因为oracle中不支持limit,所以得换一种方式做分页。第一方法(rownum):先建一个表,表名为ADDRESS,如图所示:查询第2到第3条记录,sql语句为: select *from (select t.*, rownum no from (select * from ADDRESS t order by t.name ) t)where no between 2 and 3效果图如下:rownum 是在已产生数据的基础上伪生成的编号,利用rownum来进行分页。第原创 2020-11-23 18:02:30 · 2331 阅读 · 0 评论 -
数据库中With as 和union用法
With查询语句不是以select开始的,而是以“WITH”关键字开头可认为在真正进行查询之前预先构造了一个临时表,之后便可多次使用它做进一步的分析和处理WITH Clause方法的优点增加了SQL的易读性,如果构造了多个子查询,结构会更清晰;更重要的是:“一次分析,多次使用”,这也是为什么会提供性能的地方,达到了“少读”的目标。第一种使用子查询的方法表被扫描了两次,而使用WITH Clause方法,表仅被扫描一次。这样可以大大的提高数据分析和查询的效率。另外,观察WITH Clause方法执行计转载 2020-08-31 19:51:08 · 3467 阅读 · 0 评论 -
oracle中的连接查询
一.内连接根据指定的连接条件进行连接查询,因此满足连接条件的数据才会出现在结果集。两个表进行内连接查询时,先找到表1的第一条记录,然后从头到尾扫描表2,将符合连接条件的记录与表1第一条记录连接成结果;当表2扫描一遍后,再从表1的第二条记录开始,从头到尾扫描表2,将符合连接条件的与表1第二条记录连接成结果…先创建两张表。表1为TEST,表2为TEST_NEW。具体数据如下。最后一列(ROWID)可以忽略不计。语法:select * from 表1 inner join 表2 on 条件示例:原创 2020-08-31 19:48:19 · 3608 阅读 · 0 评论 -
数据库中条件判断Case的用法
语法:case when 条件 then 值1 else 值2 end示例:select (case when t.project_id=‘0’ then 1 else ln(t.project_id) end) LN from MES2_BYD_SHOPORDER t当t.project_id等于0时,返回1,否则返回ln(t.project_id)。这样可以防止ln()中参数为0而报错。结果:...原创 2020-08-25 21:21:27 · 2095 阅读 · 0 评论 -
Oracle数据库中的列相乘
语法:select EXP(Sum(ln(列名))) from 表名 示例:select EXP(Sum(ln(t.project_id))) from MES2_BYD_SHOPORDER t where t.project_id='43'结果:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200825211219388.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shado原创 2020-08-25 21:13:48 · 4481 阅读 · 0 评论