随笔分类 -  Oracle

摘要:由于粗心,数据库脚本生成的时候错将一个类型NUMBER(5)的字段类型改为 VARCHAR2(5),直接进行表修改会报错,因为数据已经存在,不能进行更新 阅读全文
posted @ 2014-06-04 15:07 我是小菜鸟 阅读(253) 评论(0) 推荐(0)
摘要:PL/SQL学习笔记,基础:plsql语法,函数,存储过程,游标,异常等 阅读全文
posted @ 2014-05-31 00:04 我是小菜鸟 阅读(1235) 评论(2) 推荐(1)
摘要:注册码,用来以后备用 阅读全文
posted @ 2014-05-07 19:38 我是小菜鸟 阅读(139) 评论(0) 推荐(0)
摘要:关键字: oracle 的to_char、to_number、to_date用法TO_CHAR 是把日期或数字转换为字符串TO_DATE 是把字符串转换为数据库中得日期类型转换函数TO_NUMBER 将字符转化为数字 TO_CHAR使用TO_CHAR函数处理数字TO_CHAR(number, '格式')TO_CHAR(salary,’$99,999.99’);使用TO_CHAR函数处理日期TO_CHAR(date,’格式’); TO_NUMBER使用TO_NUMBER函数将字符转换为数字TO_NUMBER(char[, '格式']) TO_DATE使用TO 阅读全文
posted @ 2014-03-13 16:34 我是小菜鸟 阅读(1350) 评论(0) 推荐(0)
摘要:一:查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录delete from peoplewhere peopleId in (select peopleId from people group by peop 阅读全文
posted @ 2014-03-12 10:07 我是小菜鸟 阅读(305) 评论(0) 推荐(0)
摘要:数据库系统由三部分组成:数据库(DB)、数据库管理系统(DBMS)和数据库应用系统数据加是用来存储数据的,里面存储两大类数据:用户数据及系统数据/数据字典,具体为系统中的用户以及用户孤权限,各种统计信息等数据库是长期存储在计算机内有组织和可共享的数据集合每种DBMS都支持一种数据模型,主流的DBMS,如:Oracle, Sybase, DB2, SQLServer, MySQL都支持关系数据模型DBMS的基本功能:1. 数据定义2. 数据操作3. 数据库的运行管理4. 数据库的建议和维护功能DBMS由两大部分组成:查询处理器和存储管理器查询处理器包括:数据定义语言(DDL)编译器、数据操纵语言 阅读全文
posted @ 2014-03-02 21:00 我是小菜鸟 阅读(316) 评论(0) 推荐(0)
摘要:公司生产上面有一张表,里面数据有:3486764条,每次想去查询最新的几条数据时总是很慢,以下为使用的语句:select * from txn_fin_txn_log t order by t.id desc;因为有order by语句会很慢,查询出来将近1分钟才能出来,有时候更长经过脑海里想了之后,记得以前有位大师(具体记不清是哪位大师)有过一个案例,他对大数据查询时,先将其中最大的主键id查询出来,再做进一步处理,以下为我写的的sql:select * from txn_fin_txn_log t where t.id > ( select max(s.id) - 1000000 f 阅读全文
posted @ 2013-12-19 12:55 我是小菜鸟 阅读(435) 评论(0) 推荐(0)
摘要:背景:公司生产线上出现异常,报的错是记录日志时数据库长度超出,导致异常,经查询发现是由于在计算byte长度时出了问题。问题代码: operatorLog.setOperAfterData(updateString.substring(0,updateString.getBytes("gbk").length > 1024?1024-(updateString.getBytes("gbk").length - updateString.length()):updateString.length()));只有一行,这么长一行代码,压根没法看,分解成如下 阅读全文
posted @ 2013-12-19 12:43 我是小菜鸟 阅读(3813) 评论(0) 推荐(0)
摘要:插入数据insert into comm_error_code_def (ID, ERR_MESSAGE, ERR_CODE, ERR_DESC, NAME, MISC_DESC, STATUS, CREATE_TIME, CREATE_OPER_ID, CREATE_OPER_NAME, UPDATE_TIME, UPDATE_OPER_ID, UPDATE_OPER_NAME)values (seq_comm_error_code_def_id.nextval, 'message.check.error', '2079', '失败 ', &# 阅读全文
posted @ 2013-07-19 10:30 我是小菜鸟 阅读(637) 评论(0) 推荐(0)
摘要:Create Sequence:create sequence SEQ_NAMEminvalue 1maxvalue 9999999999start with 1increment by 1cache 100;Delete data:truncate table TABLE_NAME;delete table TABLE_NAMEGet system date:select to_char(sysdate, 'yyyymmddhhmmss') from dual; --9i以下(包含9i?)使用此,不能得到毫秒select my_timestamp,to_char(sysdat 阅读全文
posted @ 2013-05-15 10:41 我是小菜鸟 阅读(194) 评论(0) 推荐(1)
摘要:CHAR:节省时间,VARCHAR:节省空间《Oracle 9i10g编程艺术》12.2.2CHAR/NCHAR 实际上只是伪装的VARCHAR2/NVARCHAR2,基于这一点,所以我认为其实只需要考虑这两种字符串类型:VARCHAR 和NVARCHAR2。我从来没有见过哪个应用适合使用CHAR 类型。因为CHAR 类型总是会用空格填充得到的串,使之达到一个固定宽度,所以我们很快就会发现:不论在表段还是任何索引段中,CHAR 都会占用最大的存储空间。这就够糟糕的了,避免使用CHAR/NCHAR 类型还有另一个很重要的原因:在需要获取这些信息的应用中,CHAR/NCHAR 类型还会带来混乱(很 阅读全文
posted @ 2013-05-13 14:41 我是小菜鸟 阅读(223) 评论(0) 推荐(0)
摘要:--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual--2011-3-18 今天的日期为2011-3-182.select trunc(sysdate, 'mm') from dual--2011-3-1 返回当月第一天.3.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天4.select trunc(sysdate,'dd') from dual --2 阅读全文
posted @ 2013-03-08 16:21 我是小菜鸟 阅读(329) 评论(2) 推荐(0)
摘要:Dynamic Performance Tables not accessible..., 权限问题1. 在 Tools->Preferences->Options里 把Automatic Statistics前的那个勾子去掉,保存2.grant SELECT ANY DICTIONARY to username 阅读全文
posted @ 2013-03-01 10:52 我是小菜鸟 阅读(173) 评论(0) 推荐(0)
摘要:配置,编辑文件..\Oracle\ora90\network\ADMIN\tnsnames.ora:ORACLE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.236)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = tvbs) ) )SQLPlus登录:用户名,密码,然后输入面配置的名称:ORACLEOracle数据库导出导入:http://www.cnblogs.com/fjfzhkb/... 阅读全文
posted @ 2013-02-28 14:05 我是小菜鸟 阅读(141) 评论(0) 推荐(0)
摘要:1、PL/SQL Developer记住登陆密码在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;设 置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , “Store history”是默认勾选的,勾上“Store with password” 即可,重新登录在输入一次密码则记住了。2、执行单条SQL语句在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Develo 阅读全文
posted @ 2013-02-18 09:30 我是小菜鸟 阅读(320) 评论(0) 推荐(0)
摘要:获取表:select table_name from user_tables; //当前用户的表select table_name from all_tables; //所有用户的表select table_name from dba_tables; //包括系统表select table_name from dba_tables where owner='用户名'user_tables:table_name,tablespace_name,last_analyzed等dba_tables:ower,table_name,tablespace_name,last_analyze 阅读全文
posted @ 2012-12-17 14:42 我是小菜鸟 阅读(178) 评论(0) 推荐(0)
摘要:rownum为虚拟列,不是实际物理列select rownum,t.code from sys_config t; // 取得行数和code列select rownum, t.code from sys_config t where rownum <=20 order by t.code; // 取得行数<=20,并按code排序,排序失败select rownum, code from (select * from sys_config order by code) where rownum <=20; // 取得前20行成功select rownum, code from 阅读全文
posted @ 2012-12-12 11:14 我是小菜鸟 阅读(319) 评论(0) 推荐(0)
摘要:Mysql(driverdownload: http://mysql.cs.pu.edu.tw/Downloads/Connector-J/mysql-connector-java-5.1.6.zip): Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cmsjsp?user=root&password=");Oracle(driverdownload: ): Met 阅读全文
posted @ 2012-07-08 17:49 我是小菜鸟 阅读(232) 评论(0) 推荐(0)
摘要:函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:单行函数和组函数。单行函数:SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被... 阅读全文
posted @ 2012-06-27 23:31 我是小菜鸟 阅读(156) 评论(0) 推荐(0)
摘要:PL/SQL有两种复合数据结构:记录和集合。记录由不同的域组成,集合由不同的元素组成。记录:记录是PL/SQL的一种复合数据结构,scalar数据类型和其他数据类型只是简单的在包一级进行预定义,但复合数据类型在使用前必须被定义,记录之所以被称为复合数据类型是因为他由域这种由数据元素的逻辑组所组成。域可以是scalar数据类型或其他记录类型,它与c语言中的结构相似,记录也可以看成表中的数据行,域则相当于表中的列,在表和虚拟表(视图或查询)中非常容易定义和使用,行或记录中的每一列或域都可以被引用或单独赋值,也可以通过一个单独的语句引用记录所有的域。在存储过程或函数中记录也可能有参数。创建记录:显示 阅读全文
posted @ 2012-06-27 23:30 我是小菜鸟 阅读(344) 评论(0) 推荐(0)