发现一个SQL执行很慢,如下:select*fromrmes.r_wip_tracking_twt,cmes.c_material_tmwherem.material_type=1and(m.material_speclike'L%'orm.material_speclike'C%')andwt.model_id=m.material_idANDWT.sn>='1073H2H72270002'andWT.sn<='1073H2H72270002'计划分析后
系统 2019-08-12 01:51:30 2136
很多时候我们需要利用参数在存储过程中重新组织SQL语句,在存储过程中拼接的SQL语句只是一个字符串,不会被直接执行,所以加一个execute执行它就可以了。具体看如下演示代码:代码:setANSI_NULLSONsetQUOTED_IDENTIFIERONgo--=============================================--Author:yy--Createdate:2012-1-17--Description:存储过程SQ
系统 2019-08-12 01:32:21 2136
方法一:v$versionSQL>select*fromv$version;BANNER--------------------------------------------------------------------------------OracleDatabase11gEnterpriseEditionRelease11.1.0.7.0-64bitProductionPL/SQLRelease11.1.0.7.0-ProductionCORE1
系统 2019-08-12 09:29:43 2135
--============================--PL/SQL-->动态SQL的常见错误--============================动态SQL在使用时,有很多需要注意的地方,如动态SQL语句结尾处不能使用分号(;),而动态PL/SQL结尾处需要使用分号(;),但不能使用正斜杠结尾(/),以及shcema对象不能直接作为变量绑定。本文介绍了动态SQL的常见问题。一、演示动态SQL的使用下面的示例中,首先使用动态SQL基于scot
系统 2019-08-12 01:55:31 2135
这个问题是由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天,如果超过180天用户密码未做修改则该用户无法登录。可通过SELECT*FROMdba_profilesWHEREprofile='DEFAULT'ANDresource_name='PASSWORD_LIFE_TIME'语句查询密码的有效期设置,LIMIT字段是密码有效天数。在密码将要过期或已经过期时可通过ALTERUSER用户名IDENTIFIEDBY密
系统 2019-08-12 01:55:02 2135
创建表:create;删除表:drop;查询:select;增加:insertinto;删除列:delect;修改:update;分组:groupby;表连接:join、leftjoin、rightjoin、crossjoin;去除重复:distinct;表连接过滤:having;视图(虚表):view;序列号:rownum;字段属性:constratint;索引:index;序列:sequence;PL_SQL:declare-begin-end;游标:
系统 2019-08-12 01:54:56 2135
1、substr(stringstring,inta,intb)参数1:string要处理的字符串参数2:a截取字符串的开始位置(起始位置是0)参数3:b截取的字符串的长度(而不是字符串的结束位置)例如:substr("ABCDEFG",0);//返回:ABCDEFG,截取所有字符substr("ABCDEFG",2);//返回:CDEFG,截取从C开始之后所有字符substr("ABCDEFG",0,3);//返回:ABC,截取从A开始3个字符subst
系统 2019-08-12 01:54:44 2135
------------------------2013-5-17------------------------setserveroutputon;--OraclePL/SQL块--声明部分declarelv_Age_numnumber:=12;lv_Name_charvarchar2(8)default'AZhu';--设置默认值--lv_Sex_charconstantvarchar2(3):='男';--执行部分begindbms_output.p
系统 2019-08-12 01:53:37 2135
IhaveinstalledOracle8.0.5onWin2003ServerStandardandWinXPSP1.TheinstalationfinishedOk,butwhendesystemstart,oneerrorsisgeneratedbyOracleStartService.(STRTDB80.EXE).ThisisnotoccursonWin2000ServerandWin2000prof.在win2003上怎么装Oracle?
系统 2019-08-12 01:53:36 2135
索引需要平衡query和DML的需要,常用于(子)查询的表应建立索引;把索引建到不同的表空间中;用统一的extent大小:五个block的倍数或者tablespace指定的MINIMUMEXTENT的倍数;创建索引考虑用NOLOGGING参数,重建索引的时候也一样;创建索引时INITRANS值应该比相应的table的值高一些;对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效;对于组合索引,根据列的唯一值概率,
系统 2019-08-12 01:53:21 2135
Oracle备份分热备份和冷备份两种。热备份就是运行Oracle提供的备份工具exp来备份,有某个时间的完全备份,也有增量备份(就是差异备份),日志备份我没听过(孤陋寡闻,呵呵)。热备能够备份成一个.dmp文件,如果恢复的话,需要将该文件拿到另一个数据库服务器上(但是最好两个服务器的数据库的配置基本一致)用imp导入工具来导入,也很简单。冷备份就是将oracle目录下的一些物理文件拷贝出来进行备份,包括控制文件等等,拿到另一台服务器上(如果版本相同的话)直
系统 2019-08-12 01:53:07 2135
select*fromAwhereidin(selectidfromB)以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,直到遍历完A表的所有记录.它的查询过程类似于以下过程ListresultSet=[];ArrayA=(select*fromA);ArrayB=(selectidfromB);for(inti=0;i
系统 2019-08-12 01:52:47 2135
临回家了,把这两天搞的oracle的点东西,放到博客上,主要是触发器的使用,没有涉及到具体复杂的业务,但是都是比较实际的业务需求。实际中能够用的上,主要是用于审计,用户实际业务需求(友好性的考虑),与view等配合使用等。直接上code吧,在pl/sql中执行相应的模块就能得到相应的结果,注释和清晰,主要是看书一步步搞的。有的自己备用方便。如果有用,大家也可以看看。1--好的创建表的方法2DECLARE3TBNUMBER;4BEGIN5SELECTCOUN
系统 2019-08-12 01:51:49 2135
转自:http://chenxy.blog.51cto.com/729966/1684591、相同点a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删除2、不同点:a.回滚,delete支持事物回滚,而truncate不支持。延伸:在oracle中事物能回滚,是因为oracle中设计的undo表空间。数据再删除后仍能回滚是因为把数据放到了undo表空间delte属于DML语言,DML语言需要手动提交事物,可以进行事务回滚t
系统 2019-08-12 01:51:28 2135
本文转自:http://www.bitscn.com/oracle/install/200604/16541.html首先,通过下表介绍ORACLE与DB2/400数据类型之间的对应关系,是一对多的关系,具体采用哪种对应关系,应具体问题具体分析。注意事项:DATEandTIMEOracle中的DATE含有年、月、日、时、分、秒,它和DB2/400中的DATE不相互对应,DB2/400中的DATE只有年、月、日,TIME类型含有时、分、秒,因此日期和时间类型
系统 2019-08-12 01:51:27 2135