金额分摊sql
先设定俩表--表T1为钢水总金额表create table T1( LH VARCHAR2(4) not null, --钢水炉号 P NUMBER(10,2) not null, --钢水总金额 GSL NUMBER(8,2) &...
FORALL与BULK COLLECT联合使用
1.使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换。 2.使用BLUK COLLECT一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下。但BLUK COLLECT需要大量内存。下面看三个例子例1:在select into 中使用 forall bulk collect;create table te...
索引监控-查询从未被使用过的索引
方法一:在索引上应用monitoring usage子句,然后查询v$object_usage表,如下所示:BEGIN FOR r IN (SELECT index_name FROM user_indexes) LOOP BEGIN EXECUTE IMMEDIATE 'alter index ' || r.index_name || ...
oracle用户密码有@符号时,sqlplus连接方式
oracle用户密码不小心设置了带有“@”符号,正常登陆总是无法登陆,提示无法解析的连接字符串错误,其实解决办法很简单,转义即可,如下:点击(此处)折叠或打开方法一:C:\Users\Administrator>sqlplus h2/\"hydee@soft123\"@huarun_h2...
Oracle10g新特性——记录DML错误日志(一)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过。不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支持记录DML语句的...
逻辑删除表中列
当一个大表,要物理删除某列时,会很慢,此时我们可以选择逻辑删除表中列,方式如下:<br />ALTER TABLE table_name SET UNUSED (column_name);<br />有关逻辑删除表中列的详细解说可见下面链接<br /><a href="https://oracle-base.com/articles/8i/dropping-columns" target="_blank">https://oracle-base.com/articles/8i/d...
分析函数keep用法,实现求最大最小值
<p>WITH m AS (<br />SELECT 22 AS ID,'a' AS str1,'b' AS str2,1 AS index_no from dual<br />UNION ALL<br />SELECT 22,'aa','bb',2 FROM dual<br />UNION ALL<br />SELECT 22,'aaa','bbb',3 FROM dual<br />UNION ALL<br />SELECT 55,'am','bm',1 FROM dual<br />UNION ALL <br />SELECT 55,'aam','bbm',2 FR...
根据特殊标识符,将一行转多行记录
表中记录如下:<br />select * from t;<br /><br />N A<br />-- ----------<br />1 a,b<br />2 a,d,f<br />希望根据a列中的逗号,将表中记录折分为多行,输出结果如下:<br />N A<br />-- --<br />1 a<br />1 b<br />2 a<br />2 d<br />2 f<br /><br />实现方法如下所示:<br /><br /><div><div class=...
pivot、unpivot实现oracle行列转换
11g之后,oracle增加了pivot和unpivot语句,可以很方便的完成行列转换。先来看看pivot的语法是点击(此处)折叠或打开SELECT ....FROM PIVOT ( &nbs...
sql查询当前用户所有表、字段及相关注释信息
oracle中记录表及字段相关信息的表有三类,分别以ALL_、DBA_及USER_开头,若查当前用户表及字段信息则用USER_相关系统表,具体sql如下:点击(此处)折叠或打开select t.table_name, f.comments t_comments, ...
关于oracle autonomous transaction
关于oracle autonomous transaction autonomous transaction 翻译成中文叫自治事务,多好的名字,一听名字就明白大半的意思了。autonmous transaction 是一个独立的事务,是由于main transaction调用而产生的...
pipeline function管道函数
oracle管道函数是一类特殊的函数,oracle管道函数返回值类型必须为集合。 在普通的函数中,使用dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端。如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以...
列组合数据去重复值
有如下需求,如表T中有三个字段a,b,c且对应数据如下:A B 10B A 10A C 20A D &nb...
取出每个位置相同数值的列
在itpub看到一贴子,要求取出表中某个列上所有位置相同数值的记录。如表 num_test中,有以下记录:insert into num_test values('11111');insert into num_test values('2222');insert into num_test values('33333');insert into num_test values('11411');insert into num_test values('16711');insert into ...
ORA-01658: 无法为表空间space中的段创建 INITIAL 区
刚刚执行imp导入同事发来的dmp文件,查看日志信息,其中一些表导入时报ORA-01658: 无法为表空间 H2_BUSI 中的段创建 INITIAL 区,感觉数据量不是很大,仔细查看初始化脚本,发现在创建表空间时限制数据文件maxsize为2G,实际数据量已超过2G了,因此后面的表无法再导入数据了。-- H2_BUSI表空间初始化语句...
设置plsqldev默认格式化(关键字大写,其它小写)
一直以来知道plsqldev有格式化功能,每次写完sql后,也习惯性的点击按钮来进行格式化,只是未曾注意到还可以对默认格式化进行设置。昨天刚从同事那学来的,在此分享下。默认格式化设置方法:Tools->Preference->User Interface->PL/SQL Beautifier界面,点开Rules file下面的Edit,如下所示:在上图右侧区的Syntax Ca...
Win7x64安装Oracle11201x64 解决PLSQL Developer无法找到oci问题
问题:今天在win7上安装oracle11gR2 x64后,plsqldeveloper无法连接上(主要表现在,其中database项内容为空,强制输入用户名与密码时,报intialization error),实际原因为无法找到oci问题。分析原因:因为安装的oracle是64位,所以,其下的动态链接库文件oci.dll也是64位组件plsql developer是32位应用程序,虽然能在x86...
nvl、nvl2、nullif、coalesce函数用法区别
nvl、nv2、nullif、coalesce这四个函数,结合一块使用时,经常弄混,在此详细介绍下每个函数的用法并简单举例。nvl相对来说,应用比较广,实际工作中会经常用到,其作用通俗来说就是去除空值。写法为nvl(expr1,expr2),如果expr1为null则返回expr2,否则返回expr1官方文档用法解释如下:NVLSynt...
深入解析partition-list 分区
List partitioning enables you to explicitly control how rows map to partitions. You do this by specifying a list of discrete values for the partitioning key in the description for each partition. This is different from range partitioning, where a range of values is associated with ...
深入解析partition-hash分区
依据惯例,先看官网对hash partition的解释 Hash partitioning enables easy partitioning of data that does not lend itself to range or list partitioning. It does this with a simple syntax and is easy to implement. It is a better choice than range partitioning when: ■ You...