oracle
文章平均质量分 57
iteye_650
这个作者很懒,什么都没留下…
展开
-
PL/SQL NEXTVAL DUAL表
dual表是个虚拟表,你在操作大多数Oracle对象的时候都可以使用这个表,比如sequence,sysdate等等。 比如:select sysdate from dual select seq1.nextval from dual --------------------------------------------------------------------------------...原创 2009-10-22 10:59:14 · 708 阅读 · 0 评论 -
ORA-01810: 格式代码出现两次
今天在做sql查询时发现了这样的问题,在网上搜索找到了答案,是别人写的。 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual; 原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。 select to_date('2005-01-01 13:14:2...原创 2010-06-09 19:11:50 · 104 阅读 · 0 评论 -
ORA-01855: AM/A.M. or PM/P.M. required问题排查与解析
1.【问题现象】在中文Windows环境的SQL*Plus中使用如下日期操作SQL时报错。具体报错信息如下:sec@ora10g> insert into t values (TO_Date( '10/22/2009 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));insert into t values (TO_Date( '10/22/2009 12:0...原创 2010-06-09 19:12:55 · 507 阅读 · 0 评论 -
oracle 查询执行顺序
oracle 语句提高查询效率的方法 1:.. where column in(select * from ... where ...); 2:... where exists (select 'X' from ...where ...); 第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询 使用EXISTS,Oracle系统会首先检...原创 2010-06-09 21:18:16 · 601 阅读 · 0 评论 -
PL/SQL Developer使用技巧
1、右键菜单在PL/SQL Developer(下面简称PLD)中的每一个文本编辑窗口,如SQL Window,Command Window和Porgram Window,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单。对象类型可以是表,视图,同义词,存储过程和函数等。根据对象类型的不同,弹出的菜单也有区别。表和视图有View, Edit, Rename, D...原创 2010-06-10 11:10:13 · 86 阅读 · 0 评论 -
unique index and constraint
1. 测试unique index 和 unique constraintSYS@anqing2(rac2)> create table ut(idnumber,phone varchar2(15),name varchar2(15));Table created. SYS@anqing2(rac2)> insert into utvalues(1,'138888888...原创 2011-09-01 18:20:10 · 175 阅读 · 0 评论 -
Oracle 创建索引的基本规则总结
一、B-Tree索引1. 选择索引字段的原则:在WHERE子句中最频繁使用的字段 联接语句中的联接字段 选择高选择性的字段(如果很少的字段拥有相同值,即有很多独特值,则选择性很好) ORACLE在UNIQUE和主键字段上自动建立索引 在选择性很差的字段上建索引只有在这个字段的值分布非常倾斜的情况下才有益(在这种情况下,某一,两个字段值比其它字段值少出现很多) ...原创 2011-09-14 00:35:02 · 122 阅读 · 0 评论 -
主键与外键之ORA-02292: integrity constraint
今天在删除一个表某条记录时,出现如下错误:ORA-02292: integrity constraint (CICRO.FK8A82499F4C67C41) violated - child record found于是查看了相关的主键和约束关系,发现了一些问题。关于这个错误,oracle官方解决方法是:Error: orA-02292: integrity constraint <cons...原创 2010-07-06 16:27:02 · 1653 阅读 · 0 评论 -
Oracle中null的使用
问:什么是NULL?答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL, 我们称它为空,ORACLE中,含有空值的表列长度为零。ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:1、主键字段(primary key),2、定义时已经加了NOT NULL限制条件的字段说明:1、等价于没有任何值、是未知数。2、NULL与0、空字符串、空格都不同。3、对...原创 2010-07-06 17:28:06 · 199 阅读 · 0 评论 -
oracle SQL语句
查找重复记录:select names,num from test where rowid != (select max(rowid) from test b where b.names = test.names andb.num = test.num) 查找表TEST中时间最新的前10条记录:select * from (select * from test or...原创 2010-07-06 17:39:12 · 100 阅读 · 0 评论 -
excel 里的数据导入oracle数据库
1 准备Excel导入数据2 把Excel文件另存为(文本文件(制表符分隔)(*.txt)3 把新生成的student.txt文件导入到plsql 打开plsql连接到要导入的oracle数据库再打开Tools --> Text importer... --> Open data file 选择要导入的txt文件。4 设置导入数据表结构 新生成的表字段会...原创 2011-10-13 10:59:51 · 144 阅读 · 0 评论 -
excel 里的数据导入oracle数据库(2)
有一个比较麻烦但保证成功的方法。1、在本地创建一个Access数据库,将Excel数据先导入到Access。可直接导入点击鼠标右键,选择导入,文件类型选择要导入的Excel文件,也可通过创建宏用TransferSpreadsheet函数实现。2、在本地创建ODBC,链接oracle数据库。将oracle中需要导入数据的表以链接表的方式在本地Access中创建(千万不要使用导入表)。3、在Acces...原创 2011-10-13 11:03:57 · 132 阅读 · 0 评论 -
Oracle数据的导入和导出(Excel)
一般导入数据到Oracle有几种方法!这可是经验之谈哦!分类: Coder 前几天搞了下将excel表导入oracle数据库的问题,连查带问带自己摸索,将自己弄过的方法写出来和大家交流。这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例。方法一,使用SQL*Loader这个是用的较多的方法,前提必须oracle数据中目的表已经存在。大体步骤如下:1 将excel文...原创 2011-10-13 16:38:41 · 746 阅读 · 0 评论 -
procedure: 一个最简单的oracle存储过程"proc_helloworld"
本文通过一个最简单的oracle存储过程"proc_helloworld"的实验,展现一下存储过程的开发和维护过程,适合超超超级初学小牛(like me)。1.编写。编写一个最最简单的存储过程,给它起个名字叫做proc_helloworldCREATE OR REPLACE PROCEDURE proc_helloworldISBEGIN DBMS_OUTPUT.put_line ('Hell...原创 2011-11-22 17:28:31 · 237 阅读 · 0 评论 -
oracle带时分秒日期的比较
oracle 中不带时分秒的字符串 to_date 转换时间后与带时分秒的date型字段做带等值的比较 (>=,<=,=)时,由于字符串不带时分秒,所以转换后时分秒默认为00:00:00,oracle中比较date是以一个时间点来比较的,精确到秒甚至毫秒微秒纳秒,所以date字段的时分秒不为00:00:00的就与不带时分秒字符串转换后的date匹配不上。示例:表中huhai_s...原创 2010-11-19 10:29:45 · 2867 阅读 · 0 评论 -
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(二)...
我们在写PL/SQL语句时,经常会用到字符串A与数字B的比较,而很多人的做法是直接做比较,殊不知Oracle会隐含地先将字符串A转换为数字,然后再与数字B做比较,这样做之后,就出现隐患了,即当时写程式时,无论怎么测试都不会出现错误,一旦运行一段时间后,系统使用者就会反映“Form程式出现异常或者是Report出现异常”,而异常就是“ORA-01722: 无效数字或者ORA-01722: inval...2010-04-27 10:38:01 · 1492 阅读 · 0 评论 -
Oracle中Decode()函数使用技巧
·含义解释: decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IF· 使用方法: ...原创 2009-11-10 09:24:31 · 94 阅读 · 0 评论 -
oracle case when语句
SELECT col1, col2, CASE WHEN col3 > 1 AND col3 <2 THEN '1' WHEN col3 > 2 AND col3 <3 THEN '2' WHEN col3 > 3 AN...原创 2009-12-03 14:20:56 · 115 阅读 · 0 评论 -
union 和 union all 的区别
SQL> select * from stud;SID KCBM CJ RQ ---------- ---------- ---------- ---------- -1 语文 60 10-1月 -052 数学 60 ...原创 2009-12-03 15:44:38 · 90 阅读 · 0 评论 -
ORA-01855: 要求 AM/A.M. 或 PM/P.M.
select TRUNC(TO_DATE('24-11-1999 08:00 下午','dd-mm-yyyy hh:mi AM')) from dual你使用 select to_char(sysdate,'MM/DD/YYYY HH:MI:SS AM') from dual;看看出现的什么字符. 如果你是中文系统,应该是出现 上午或下午字样. ...原创 2009-12-03 16:01:58 · 357 阅读 · 0 评论 -
trunc
TRUNC()函數分兩種:1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截...原创 2009-12-03 16:18:21 · 125 阅读 · 0 评论 -
Oracle中的空格函数和trim(' ')
1、可以使用LPAD和RPAD在字符串的左边 和右边填补空格。 select lpad('asdf',5) from dual; 就在‘asdf’左边加了5个空格。 2、TRIM(' ')的值是空值。在ORACLE判断控制不能直接=NULL。 方法一:trim(' ') is null 方法二:nvl(trim(' ...原创 2009-12-17 15:20:40 · 1179 阅读 · 0 评论 -
Oracle转义字符
oracle中一般的转义字符的用法是:select distinct t.TABLE_NAME from user_tab_columns twhere t.TABLE_NAME like 'A/_%' ESCAPE '/'ESCAPE 后的字符可以随意定义。此语句功能是查出所有以A_开头的表名。由于_在sql的like中代表一个字符,所以需要使用转义字符。但当有多个like字符时...原创 2009-09-16 08:25:49 · 706 阅读 · 0 评论 -
oracle学习总结二(转义字符)PL/SQL
1、oracle 特殊字符 转义关键词: oracle 转义 环境:oracle 9i plsql在plsql里边执行:update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'这条sql语句往数据库的pa...原创 2009-09-16 08:41:45 · 91 阅读 · 0 评论 -
Oracle Like中对转义字符的的处理
结论: 1,oracle 的转义字符是可以自己定义的,格式ESCAPE '/' 2,如果指定转义字符,需要字符串有严格的格式.3,like内容是大小写敏感的. ------------------------------------CREATE TABLE zz_hawk_tab_1406 ( t_num NUMBER, t_var VARCHA...原创 2009-09-16 13:23:00 · 501 阅读 · 0 评论 -
数据库的bigint int smallint tinyint的区别
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 inte...原创 2009-09-16 16:59:22 · 180 阅读 · 0 评论 -
SqlServer中decimal(numeric )、float 和 real 数据类型的区别
decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。定义 decimal 的列、变量和参数的两种特性如下: · p 小数点左边和右边数字之和,不包括小数点。如 123.45,则 p=5,s=2。 指定精度或对象能够控制的数字个数。· s...原创 2009-10-09 19:08:17 · 1243 阅读 · 0 评论 -
Ora-00054 resource busy and acquire with nowait specified
当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。主要是因为有事务正在执行(或者事务已经被锁),所有导致执行不成功。1、用dba权限的用户查看数据库都有哪些锁select t2.username,t2.sid...2010-04-23 10:09:31 · 95 阅读 · 0 评论 -
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)...
如果是字符型的列,在记录中存在非数值的值,那么在隐转换的时候就会报错SQL> create table t (id varchar2(10));表已创建。SQL> insert into t values('aaa');已创建 1 行。SQL> commit;提交完成。SQL> select * from t where id = 1111;select * from t ...2010-04-27 10:36:56 · 826 阅读 · 0 评论 -
ORACLE Procedure function package cursor 简介
1、 PL/SQL语句块PL/SQL语句块只适用于Oracle数据库,使用时临时保存在客户端,而不是保存在数据库。基本语法:declare 变量声明、初始化begin 业务处理、逻辑代码exception 异常捕获end; 变量声明:<变量名> <类型及长度> [:=<初始值>] ...原创 2011-11-23 16:46:45 · 219 阅读 · 0 评论