![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
夏林林
编程为了改变生活
展开
-
oracle基本操作语句
select table_name from all_tables;//所有的表明select table_name from user_all_tables;//用户的所有的表select * from user_objects; //查询所有的表select * from dba_tables; //查询所有的表select * from all_tables; //查询所有的原创 2013-04-24 13:23:27 · 444 阅读 · 0 评论 -
Oracle中处理不区分大小写查询的处理 .
今天做jsp的一个查询,因中间用到对yhid的查询,此字段为字母或数字。所以大小写都不尽相同,如:LGR,LgR,lgR,当查询时不管输入大小写,都应当把这些记录查询出来。 select * from (SELECT t.yhid,//这里的yhid还不变,用于列表的显示,显示的结果还是大小写都有 t.bmbh,转载 2013-05-28 16:57:25 · 577 阅读 · 0 评论 -
oracle创建数据库
SYSINSTALL_OF_ORACLESYSDBA--user--create user center identified by center default tablespace users temporary tablespace temp;--grant--GRANT CONNECT to center;GRANT RESOURCE to center;原创 2013-06-06 09:48:21 · 421 阅读 · 0 评论 -
oracle数据量过大导致死掉的解决方法
CREATE OR REPLACE PROCEDURE CNV_INSERT_LFZK_TT_UKHAS CURSOR C_UKH IS SELECT * FROM LFZK_TT_UKH; V_COUNT NUMBER :=0; BEGIN FOR R_UKH IN C_UKH LOOP V_COUNT := V_COUNT + 1;INSERT原创 2013-06-07 11:03:42 · 3343 阅读 · 0 评论 -
oracle中导入txt或者csv文件
----------------------------------------------------Dos 环境下使用SQl*Loader命令 加载 使用其它数据库的数据转移工具 Oracle 企业管理器中的数据加载功能 具体的技术实现 一、Dos 环境下加载 1、首先,服务器端的侦听服务必须已经开启。 测试方法:Dos 下输入 C:/>sqlplus user转载 2013-07-10 15:16:55 · 807 阅读 · 0 评论 -
oracle中查询没有编译的文件
select * from USER_OBJECTS SELET OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE='FUNCTION' AND STATUS='INVALID' //查询function中报错的文件 ALTER FUNCTION XXXX COMPILE --- xxx 为查询出来的 object_n原创 2013-07-10 15:21:16 · 530 阅读 · 0 评论 -
Oracle笔记--修改表结构
DDL 添加或修改列 添加、删除、开启、关闭约束 删除表结构 移出表结构中所有行记录,值保留表结构一、添加列 ALTER TABLE 1、语法 在Oracle8i之前,列是不能单独删除的 在Oracle8i之后,列可以单独删除的,如下:ALTER TABLE 表名DROP COLUMN 列名 添加的新列可以定义默认值原创 2014-07-14 11:36:09 · 465 阅读 · 0 评论 -
oracle 禁用触发器
刚才通过PL/SQL禁用数据库时,提示:ORA-04080:触发器 '####'不存在,所以改有命令行去禁用,就可以啦,方法如下: --禁用 alter table [tablename] disable all triggers --恢复 alter table [tablename] enable all triggers 注意:禁用的时候,要以转载 2014-07-23 14:20:55 · 1417 阅读 · 0 评论 -
ORACLE禁用启用触发器
表名称:table_name,两个触发器名称 trigger1_table_name,trigger2_table_name 1.以trigger的owner登录sqlplus。 2.禁用表table_name的所有trigger。 sql> alter table table_name disable all triggers; Table altered. 3.启用表tab转载 2014-07-23 14:12:31 · 492 阅读 · 0 评论 -
oracle 递归
今天发现在oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:select ... from tablename start with cond1 connect by cond2 where cond3;简单说来是将一个树状结构存储在一张表里,比如一个表转载 2014-05-29 14:28:58 · 661 阅读 · 0 评论 -
oracle序列自增长
create or replacetrigger trg_customers before insert on customers for each row begin select CUSTOMER_ID_SEQ.nextval into :new.id from dual; end;原创 2014-07-09 16:07:39 · 554 阅读 · 0 评论 -
oracle sequence
Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方. 下面介绍一下关于sequence 的生成,修改,删除等常用的操作: 1. 创建 Sequence 使用如下命令新建sequence(用户需要有CREATE SEQUENCE 或者CREATE ANY SEQUENCE权限): CREATE SEQUENCE test原创 2014-07-09 16:10:30 · 350 阅读 · 0 评论 -
ORACLE禁用启用触发器
表名称:table_name,两个触发器名称 trigger1_table_name,trigger2_table_name 1.以trigger的owner登录sqlplus。 2.禁用表table_name的所有trigger。 sql> alter table table_name disable all triggers; Table altered. 3.启用表tab原创 2014-07-14 15:51:09 · 509 阅读 · 0 评论 -
oracle like 上强制使用索引
当where子句对某一列使用函数时,除非利用这个简单的技术强制索引,否则Oracle优化器不能在查询中使用索引。通常情况下,如果在WHERE子句中不使用诸如UPPER、REPLACE 或SUBSTRD等函数,就不能对指定列建立特定的条件。但如果使用了这些函数,则会出现一个问题:这些函数会阻碍Oracle优化器对列使用索引,因而与采用索引的情况相比较,查询会花费更多的时间。庆幸的是,转载 2014-08-06 11:27:31 · 414 阅读 · 0 评论 -
oracle实现同时多表插入
oracle实现同时多表插入 最简单的,一条SELECT结果向多个表中插入: insert allinto test1(id,name,sex,cj)into test2(id,name,sex,cj)into test3(id,name,sex,cj)select id,name,sex,cj from test ; 依据条件实现: inse转载 2013-03-27 13:05:57 · 634 阅读 · 0 评论 -
ORACLE中LIKE语句优化
1。尽量不要使用 like '%%'2。对于 like '%' (不以 % 开头),Oracle可以应用 colunm上的index3。对于 like '%…' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 like '%' 建测试表和Index,注意,重点在于带reverse的function index。同时,一定要使用CBO转载 2013-03-27 13:18:28 · 504 阅读 · 0 评论 -
根据序列名得到当前序列值
CREATE OR REPLACE FUNCTION GET_SEQUENCESNO(P_NAME IN VARCHAR) RETURN NUMBER AS/*=====================================================================*//* PGM NAME |GET_SEQUENCESNO原创 2013-02-05 09:03:15 · 466 阅读 · 0 评论 -
Oracle错误一览表
Oracle 错误一览表ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 O转载 2013-02-19 17:08:04 · 305 阅读 · 0 评论 -
ORACLE中一个字符占多少字节?
问题描述或许你会说一个中文字符占2个字节,这是一定的?如何计算一个字符串的字节数? 解决方案在oracle中一个字符特别是中文占几个字节是不同的。比如我创立一个表create table test_ly(a varchar2(4),b nvarchar2(4))你说a列能插入两个汉字吗?错!最多能插入一个汉字加一个字母(或数字)。这是为什么?因为一个汉字在a字段中占了3转载 2013-03-18 10:02:33 · 636 阅读 · 0 评论 -
ORACLE与SQL SERVER的区别
ORACLE与SQL SERVER的区别 体系结构 ORACLE的文件体系结构为: 数据文件 .DBF (真实数据) 日志文件 .RDO 控制文件 .CTL 参数文件 .ORA SQL SERVER的文件体系结构为: .MDF (数据字典) .NDF (数据文件) .LDF (日志文件) ORACLE存储结构:转载 2013-03-18 11:00:25 · 423 阅读 · 0 评论 -
oralce函数大全
使用ORACLE的人应该都用过oracle中的substr函数,函数作用就不说了。substr函数是一个功能比较强大的函数,有比较多的用法,本文将详细说明。以下是函数调用原型substr(string,postion[,substring_length])string:原字符串,没什么好讲的,就是要检索的原字符串postion:开始检索的位置,如果大于0则表示从第一个字符开原创 2013-03-18 13:23:48 · 612 阅读 · 0 评论 -
Oracle分页查询语句
Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看。Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。Oracle分分页查询格式:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE转载 2013-03-19 10:35:57 · 469 阅读 · 0 评论 -
oracle错误代码大全
ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝ORA-00023: 会话引用进程私用内存;无法分离会话转载 2013-03-19 10:56:17 · 839 阅读 · 0 评论 -
Oracle中把一张表查询结果插入到另一张表中
一、Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中。 例如:现有只有A表,查询A表,并且把结果导入B表中。使用如下SQL语句: Sql代码 create table B as select * from A 二、Oracle数据库中支持把查询结果导入到另外一张表中。 例如:有两个表A和B 1)如果两个表的表结构是否相同,但要插入的字原创 2013-04-01 10:59:13 · 6264 阅读 · 0 评论 -
Oracle查询速度慢的原因总结
查询速度慢的原因很多,常见如下几种:1,没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2,I/O吞吐量小,形成了瓶颈效应.3,没有创建计算列导致查询不优化.4,内存不足5,网络速度慢6,查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7,锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8,sp_lock,sp_who,活动的转载 2013-04-03 13:11:02 · 913 阅读 · 0 评论 -
Oracle之分页查询
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。 分页查询格式:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM = 21 其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM = 2转载 2013-04-03 13:13:23 · 396 阅读 · 0 评论 -
Oracle中根据条件参数插入自增的(带参数自动获取DPNO)
参数条件是MJCD, KKCD1. TABLE 存储记录的自增数CREATE TABLE SASC_TT_SRG_SQNO ( SRGMJCD VARCHAR2(20) NOT NULL, SRGKKCD CHAR(6) NOT NULL, SRGSQNO NUMBER(10,0), PRIMARY KEY (SRGMJCD, SRGKKCD原创 2013-04-03 10:40:29 · 1019 阅读 · 0 评论 -
Oracle中根据出生日期计算年龄
CREATE OR REPLACE FUNCTION GET_YEARS_OF_AGE(P_BIRTHDAY IN DATE) RETURN NATURALIS vYears NUMBER; P_BASEDATE DATE := SYSDATE; P_METHOD NUMBER := 0 ;BEGIN vYears := EXTRACT(YEAR FR原创 2013-04-03 10:39:00 · 4075 阅读 · 0 评论 -
Sql分组查询,如何把纵向显示的结果变成横向显示
建库并录入数据:create table BookLibary([图书馆] varchar(10),[科目] varchar(10),[数量] int)insert into BookLibaryselect 'A','语文',5union all select 'B','数学',6union all select 'C','英语',3union all select转载 2013-03-26 09:07:36 · 4277 阅读 · 0 评论 -
oracle-timestamp类型处理
DATE类型转换为TIMESTAMP SELECT CAST(sysdate AS TIMESTAMP) from dual; VARCHAR类型转换为TIMESTAMP SELECT CAST(to_date(‘20110419010101’,’yyyy-mm-dd hh24:mi:ss’) AS TIMESTAMP) from dual; TIMESTAMP类型转换为V转载 2013-03-27 13:16:11 · 377 阅读 · 0 评论 -
Oracle用户、授权、角色管理
创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识。掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率。 Oracle数据库的权限系统分为系统权限与对象权限。系统权限( Database System Privilege )可以让用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT转载 2014-08-19 09:55:42 · 523 阅读 · 0 评论