随笔分类 - Database_Oracle
摘要:概念描叙 ORACLE数据库有国家字符集(national character set)与数据库字符集(database character set)之分。两者都是在创建数据库时需要设置的。国家字符集主要是用于NCHAR、NVARCHAR、NCLOB类型的字段数据,而数据库字符集使用很广泛,它用于:CHAR、VARCHAR、CLOB、LONG类型的字段数据; ORACLE的字符集名字...
阅读全文
摘要:修改 oracle xe 默认中文字符集成为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK Oracle XE 执行安装程序后,很简单的默认为 SIMPLIFIED CHINESE_CHINA.AL32UTF8 ,通过如下方法可以修改成为 ZHS16GBK 。----------------------connect sys as sysdba shutdown...
阅读全文
摘要:注:本文来源于《oracle查询某张表的外键(最终解决办法)》一:几个查询表外键的脚本select b.table_name, b.column_name from user_constraints ainner join user_cons_columns b on a.constraint_name = b.constraint_name where a.r_constraint_name i...
阅读全文
摘要:注:本文来源于《Oracle中的substr()函数 详解及应用》1)substr函数格式 (俗称:字符截取函数) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a) ;解释: 格式1: 1、string 需要截取的字符串 2、a 截取字符串的开始位置(注:...
阅读全文
摘要:现在给大伙介绍另外的一钟防止主键相同的方法。唯一主键使用SYS_GUID() 生成32位的唯一编码。来生成唯一主键例如:create table test(id raw(16) default sys_guid() primary key,filler varchar2(100))这样就能生成唯一的主键id了,插入数据时不用插入id列。
阅读全文
摘要:注:本文来源于《 oracle 根据一个时间段获取这个时间段内所有月份、天数、日期 》获取月份列表:SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-10', 'yyyy-MM'), ROWNUM - 1), 'yyyyMM') as monthlist FROM DUALCONNECT BY ROWNUM <= months_between(to_date('201...
阅读全文
摘要:NVL(EXPR1,EXPR2)NVL2(EXPR1,EXPR2,EXPR3)NULLIF(EXPR1,EXPR2)COALESCE(EXPR1,,..,EXPRn)decode--------NVLnvl(COMMISSION_PCT,0)--如果第一个参数为null,则返回第二个参数--如果第一个参数为非null,则返回第一个参数---经典示例:计算年薪(工资+提成)SELECT LAST_N...
阅读全文
摘要:SGA、PGA使用情况select name,total,round(total-free,2) used, round(free,2) free,round((total-free)/total*100,2) pctused from (select 'SGA' name,(select sum(
阅读全文
摘要:SELECT REGEXP_SUBSTR('1,2,3,4,5,6,7,8,9', '[^,]+', 1, ROWNUM) FROM DUALCONNECT BY ROWNUM 先解释一下:select REGEXP_SUBSTR(t.schedule,’[^/]+’,1,1) from dual 比方: select REGEXP_SUBSTR(‘虹桥/北京’,’[^/]+’,1,1) f...
阅读全文
摘要:这个比较简单,用||或concat函数可以实现[sql] view plain copy print?select concat(id,username) str from app_user select id||username str from app_user 字符串转多列实际上就是拆分字符串的问题,可以使用 substr、instr、regexp_substr函数方式字符串转多行使...
阅读全文
摘要:Oracle SQL高级编程——分析函数(窗口函数)全面讲解注:本文来源于:《Oracle SQL高级编程——分析函数(窗口函数)全面讲解》概述分析函数是以一定的方法在一个与当前行相关的结果子集中进行计算,也称为窗口函数。一般结构为Function(arg1 , arg2 ……) over(partition by clause order by clause windowing clause )...
阅读全文
摘要:详细讲解Oracle数据库中的临时表用法这篇文章主要介绍了Oracle数据库中的临时表用法,希望对大家的学习和工作有所帮助。 一:语法 在Oracle中,可以创建以下两种临时表: (1) 会话特有的临时表 CREATE GLOBAL TEMPORARY ( )ON COMMIT PRESERVE ROWS; (2) 事务特有的临时表 CREATE GLOBAL ...
阅读全文
摘要:注:本文参考了《整理oracle 树形查询》sql树形递归查询是数据库查询的一种特殊情形,也是组织结构、行政区划查询的一种最常用的的情形之一。下面对该种查询进行一些总结:create table JD2_SUPERVISE_MATTER( id NUMBER(10) not null, pid NUMBER(10),...
阅读全文
摘要:注:本文来源于《Oracle Blob查询和插入》插入UPDATE cmm05 SET OUTFILE = to_blob('12345690'); 查询:SELECT utl_raw.cast_to_varchar2(OUTFILE) FROM table_name 分段查询:select utl_raw.cast_to_varchar2(dbms_lob.substr(log_data_det...
阅读全文
摘要:注:本文来源于:《oracle中Blob和Clob类型的区别》1.BLOB BLOB全称为二进制大型对象(Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节 2.CLOB CLOB全称为字符大型对象(Character Large Object)。它与LONG数据类型类似,只不过CLOB用于存储数据库中的大型单字...
阅读全文
摘要:注:本文来源于:《Oracle中如何查询CLOB字段类型的内容》语法select * from table_name where dbms_lob.instr(字段名(clod类型),'查询条件',1,1) > 0;具体实例/*查询质押单据信息*/SELECT * FROM EDI.MID_LOG_OPEN_PLATFORMWHERE SENDER='J***D' AND CREATE_TIME ...
阅读全文
摘要:1 1、查找表的所有索引(包括索引名,类型,构成列): 2 3 select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 表名 4 2、查找表的主键(...
阅读全文
摘要:一:用命令 imp/exp 的方式进行数据的导入和导出一:文件后缀名:二:oracle 导出 exp 命令 1 echo 开始备份数据库 2 if not exist D:\oracle_bak\files md D:\oracle_bak\files 3 if not exist D:\oracle_bak\logs md D:\oracle_bak\logs 4 5 set va...
阅读全文
摘要:对于Oracle的存储过程,抛出异常可以抛向代码或是用表记录。如果你的系统应用有很多节点,像我们40个节点,如果抛错抛到代码里面,错误根本就无法找到,最好是错误用表记录。记录错误的这个功能最好是通用的 1 --建立错误日志表 2 3 create table PUB_PROC_ERR_LOG 4 ( 5 LOG_ID NUMBER, 6 MODULE_NAME VARCHAR2(10...
阅读全文