
数据库
jumtre
这个作者很懒,什么都没留下…
展开
-
数据库索引的作用和优点缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引转载 2014-09-25 13:58:21 · 776 阅读 · 0 评论 -
Oracle 查询库中所有表名、字段名、字段说明,查询表的数据条数、表名
查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t;查询指定表的所有字段名:select t.column_name from user_col_comments t where t.table_name = 'BIZ_DIC...转载 2018-12-04 18:34:54 · 6423 阅读 · 0 评论 -
Visual Studio报错“未在本地计算机上注册"MSDAORA"提供程序”的解决方法
方法一:把网站工程属性→Web→服务器从默认的IIS Express改为IIS,并设置“启用32位应用程序”。点击查看操作方法方法二:改用其他驱动,如“OraOLEDB.Oracle”,相对麻烦一点,我就不写了,网上操作方法很多。方法三:替换Visual Studio目录下的WCF相关文件。VS2008用这个,VS2015用这个。如果系统是64位:原因:在安装VS...原创 2018-10-22 13:48:47 · 5148 阅读 · 0 评论 -
ORA-12638: 身份证明检索失败的解决方法
本地oracle客户端用PLSQL Developer连接远程数据库,每次登录都会在很久之后,出现 ORA-12638: 身份证明检索失败,tnsping 表明TNS配置没有问题。解决方案:方法一:D:\app\sabre\product\11.2.0\client_1\NETWORK\ADMIN此目录下找到sqlnet.ora文件,如果存在SQLNET.AUTHENTICATIO...转载 2018-10-22 13:17:03 · 51490 阅读 · 11 评论 -
ORACLE多表关联UPDATE 语句
为了方便起见,建立了以下简单模型,和构造了部分测试数据:在某个业务受理子系统BSS中,SQL 代码--客户资料表create table customers(customer_id number(8) not null, -- 客户标示city_name varchar2(10) not null, -- 所在城市customer_type char转载 2015-12-04 20:58:36 · 692 阅读 · 0 评论 -
oracle 多行转一列,一列转多行
有一个表,表名为tab_test,如下:一、多行转一列select id, vnum, to_char(wmsys.wm_concat(vname)) c from tab_test group by id,vnum;执行上述sql后,如下:二、一列转多行with a as (select '/ABC/AA/AD/ABD/JI/CC/ALSKD/AL转载 2015-06-12 17:07:31 · 13644 阅读 · 0 评论 -
Oracle行转列、列转行的Sql语句总结
目录结构如下:行转列列转行[一]、行转列 1.1、初始测试数据 表结构:TEST_TB_GRADE Sql代码 create table TEST_TB_GRADE ( ID NUMBER(10) not null, USER_NAME VARCHAR2(20 CHAR), COURSE VARCHAR2(20转载 2015-06-12 17:11:09 · 28283 阅读 · 0 评论 -
oracle获取某时间段内的年份、月份、日期列表
获取日期列表:SELECT TO_CHAR(TO_DATE('2014-10-01', 'yyyy-MM-dd') + ROWNUM - 1, 'yyyyMMdd') as dayslist FROM DUALCONNECT BY ROWNUM <= trunc(to_date('2015-06-01', 'yyyy-MM-dd') -原创 2015-06-03 14:59:53 · 17844 阅读 · 0 评论 -
Oracle控制语句(if , loop , while , for)
--if...then...elsif..then.. else...end ifdeclare num integer; inputno number(10);begin inputno :='&请输入'; select sal into num from scott.emp where empno=inputno; if(num<2000) then转载 2014-11-03 16:21:07 · 1322 阅读 · 0 评论 -
ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' E转载 2014-11-03 10:45:58 · 1295 阅读 · 0 评论 -
Oracle中生成GUID类型
Oracle8i引入了SYS_GUID这个概念,它同Oracle管理员所使用的传统的序列(sequence)相比具有诸多优势。一个序列生成器只是简单地创建从给定的起点开始的一系列整数值,而且它被用在选择陈述式的时候自动地递增该系列。 序列生成器所生成的数字只能保证在单个实例里是唯一的,这就不适合将它用作并行或者远程环境里的主关键字,因为各自环境里的序列可能会生成相同的数字,从而导转载 2014-10-31 16:49:11 · 3837 阅读 · 0 评论 -
Oracle带输入、输出参数的存储过程 返回受影响的行数 SQL%ROWCOUNT
CREATE OR REPLACE PROCEDURE PROC_UPDATE_TEMP(P_DAYS IN NUMBER, --执行天数 P_ROWS OUT VARCHAR2, --返回受影响的行数转载 2014-10-27 16:35:43 · 12519 阅读 · 0 评论 -
Oracle实现数据不存在则插入,数据存在则更新(insert or update)
思路是写一个函数,先按条件查询数据,如果查询到数据则更新,如果没有查询到数据则插入:create or replace function fn_merge_index(statdate in date, cpid in varchar2,原创 2014-09-28 17:29:10 · 51263 阅读 · 0 评论 -
Oracle用存储过程查询多张表的方法
前用企业库读SQL Server返回数据集没任何问题,可以返回1个也可以返回多个,读Oracle的时候返回一个数据集的时候也没问题,可是最近在用Oracle返回多个数据集的时候却出了问题,几经辗转,终于找到了解决方案,记下来!一定要记下来!千万不可忘记!!!!!!!以下代码在vss2005+oracle10g下测试通过。要使用企业库,肯定先引用喽:cs文件添加三个引用:转载 2014-09-28 13:48:12 · 10405 阅读 · 0 评论 -
Oracle中不同语言环境导致to_date出错的问题
写了个存储过程,里面用了个函数,函数里有一段to_date(dateFrom, 'yyyy/mm/dd'),运行后发现数据插入错误,插入的数据为“0001/9/14”。感觉莫名其妙,不知道为什么会是这样的数据,经过调试,发现我在测试窗口输入的日期“2014/9/1”在程序中变成了“01-SEP-14”,瞬间恍然大悟,原来是当做01年9月14日了。 知道了原因就好说了,直接放出解决办法原创 2014-09-28 17:14:00 · 4412 阅读 · 2 评论 -
Oracle中TO_DATE格式
TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年转载 2014-09-28 16:23:46 · 813 阅读 · 0 评论 -
索引的十一种功能
索引是个既稳定又开放的信息结构,它有十一种功能。1 分解功能把文献中的资料单元(如篇名、机构、短语、概念、物名、地名、书名、人名、字词、符号等)一一分解,这就是索引的分解功能。它是索引工作的起跑线和索引编纂的基础,没有对文献内容的这种分解功能,就没有索引。过去有些反对索引的人说,索引是把古人的著书“凌迟碎割”。他们对索引法的反对,实出于对流传已久的那种落后的皓首穷经的陋习转载 2014-09-25 14:03:01 · 895 阅读 · 0 评论 -
Oracle查询一段时间内的每一天
select to_date('2018-09-01', 'yyyy-MM-dd') + rownum - 1 as dateday from dualconnect by rownum <= (to_date('2019-01-21', 'yyyy-MM-dd') - to_date('2018-09-01', 'yyyy-MM-dd'));原创 2019-01-21 22:21:27 · 8485 阅读 · 0 评论