
Oracle
文章平均质量分 69
zhu2695
Coding life....
展开
-
Oracle面试题(概念、定义)
Oracle面试题1、触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。2、什么是存储过程?用什么来调用? 答:存储过程是一个预编译的SQL语句转载 2013-03-03 19:00:26 · 2566 阅读 · 0 评论 -
oracle中range/rows的区别
--按salary排序,计算当前行到下面两行的salary累加值,红色部分为例,可以看到2340等于3个salary的值,物理行范围,一眼看就看出来了SQL> select id,last_name,salary,dept_id, 2 sum(salary) over(order by salary 3 rows between current row and 2 follo原创 2017-11-15 17:27:56 · 2385 阅读 · 0 评论 -
分析函数用法及窗口子句 range/rows差别
分析函数用法及窗口子句 range/rows差别 分析函数的语法结构一般是:分析函数名(参数) OVER (PARTITION BY子句 ORDER BY子句 ROWS/RANGE子句)。即由以下三部分组成:分析函数名:如sum、max、min、count、avg等聚集函数以及lead、lag行比较函数等;over: 关键字,表示前面的函数是分析函数,不是普通的集合转载 2017-11-15 17:30:45 · 2358 阅读 · 0 评论 -
Oracle 学习之窗口函数(over)
在工作的过程中,我们有时候需要编写复杂的sql脚本.在这个时候,如果掌握一些数据库函数,对我们的工作可以事半功倍的作用. 这篇主要记录学习Oracle 的窗口函数的一些体会. 窗口函数的名字是over()函数,常用的有两个属性partition by和order by,partition by类似于group by,我们通常将group by叫做分组,而partition by称原创 2017-11-15 17:44:28 · 1025 阅读 · 0 评论 -
oracle没有create or replace table
转自:http://tunps.com/oracle-create-or-replace-tableOracle数据库和其他数据库(比如MySQL)在新建数据表的时候有以下区别:Sql代码 SQL> create or replace table testTb; create or replace table testTb ORA-00转载 2017-12-02 14:56:58 · 30382 阅读 · 1 评论 -
Oracle实现自增方式:序列+触发器
Oracle不能像MySQL那样设置主键自增,Oracle用 的方式使数据表的一列或多列实现自增序列sequence+触发器trigger:实现数据表S_DEPART中的主键的自增PL/SQL图示: 1、创建数据表,如下,DEPARTID是主键 2、创建序列Sequences在oracle中sequence就是序列,转载 2017-12-23 11:36:40 · 4416 阅读 · 0 评论 -
oracle中sql%rowcount的作用
起因:新开发个存储过程,需要当一个用户调用存储过程操作一行数据时,另外的用户不允许调用过程操作该数据。解决办法:先将该记录的状态改为处理中,当别的用户看到为处理中时则跳出过程。此时用到了sql%rowcount来判断是否更新了记录的状态[sql] view plaincopyupdate table t set t.status转载 2017-12-25 09:00:08 · 29666 阅读 · 0 评论 -
Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理Oracle 中的 TO_DATE 和 TO_CHAR 函数oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 23:45:56 为例格式 说明 显示值 备注 Year(年): yy two digits(两位年) 08 yyythree digits(转载 2017-12-25 14:41:31 · 1156 阅读 · 0 评论 -
SQL plus连接远程Oralce数据库
win7 sqlplus 用 管理员启动oracle客户端位置:G:\oracle\product\10.2.0\client_1\BIN\sqlplus.exe如果要连接远程数据库,传统的一定可行的方法是在本地装一个oracle,然后使用“Network Configuration Assistant”配置,之后用PL/SQL Dev连接 oracle官网上提供了最小访问包转载 2017-12-26 10:38:12 · 4275 阅读 · 0 评论 -
Oracle中coalesce函数的用法
学习了几天教主的书,今天看到coalesce函数,功能很强大啊!coalesce函数的参数是列,结果是取出第一个不为空的列的数据。首先,建一个视图:[sql] view plaincopyCREATE OR REPLACE VIEW v AS SELECT NULL AS c1,NULL AS c2,1 AS c3,NUL转载 2018-01-02 11:24:23 · 5301 阅读 · 0 评论 -
Oracle坑之-空字符串与NULL
Oracle坑之-空字符串与NULL 空字符串与NULL首先有如下代码SELECT * FROM Pdc_DataDomain DDINNER JOIN Pdc_DD_Table DDT ON DD.DataDomainID = DDT.DataDomainID AND DD.ApplicationDBID = '3e7c6764d73f4c7786c99e5b72eb69...转载 2018-02-13 10:45:11 · 5644 阅读 · 0 评论 -
Oracle expdp / impdp 用法详解
一 关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。expdp或imp...转载 2018-03-23 15:01:38 · 3158 阅读 · 0 评论 -
oracle的分析函数over(Partition by...) 及开窗函数
oracle的分析函数over(Partition by...) 及开窗函数http://zonghl8006.blog.163.com/blog/static/4528311520083995931317/ over(Partition by...) 一个超级牛皮的ORACLE特有函数。天天都用ORACLE,用了快2年了。最近才接触到这个功能强大而灵活的函数。真实惭愧啊!转载 2017-11-15 17:07:52 · 528 阅读 · 0 评论 -
Oracle中rank() over, dense_rank(), row_number() 的区别
Oracle中rank() over, dense_rank(), row_number() 的区别假设现在有一张学生表student,学生表中有姓名、分数、课程编号,现在我需要按照课程对学生的成绩进行排序。select * from student1. rank over ()可以实现对学生排名,特点是成绩相同的两名是并列,如下1 2 2 4 5sel转载 2017-11-15 16:44:23 · 464 阅读 · 0 评论 -
PL/SQL报错:“ora-12154 TNS 无法处理服务名” 的解决办法
以前使用Oracle9的数据库做开发,数据库连接工具使用plsql。连接数据库是使用“本地Net服务名配置”(开始——程序——Oracle - OraHome92——Configuration and Migration Tools——Net Configuration Assistant )。为系统配置了一个名为:OracleServiceXXXX的服务。 过了一段时间,有一个新的项转载 2013-09-16 12:58:49 · 6754 阅读 · 0 评论 -
oracle 内连接(inner join)、外连接(outer join)、全连接(full join)
建表语句:create table EMPLOYEE( EID NUMBER, DEPTID NUMBER, ENAME VARCHAR2(200))create table DEPT( DEPTID NUMBER, DEPTNAME VARCHAR2(200))oracle中的连接可分为,内连接(inner原创 2016-08-23 17:19:04 · 27390 阅读 · 0 评论 -
oracle 存储过程
语句块定义:Sql代码 decalre -- 变量声明 var1 number(2); -- 仅声明 var2 char(2) := '11'; -- 在声明的同时初始化 begin -- 语句 end; -- 语句块结束 if 语句转载 2016-08-23 17:48:30 · 556 阅读 · 0 评论 -
Oracle的存储过程编程
什么是存储过程? 是一个可以用编程的方式来操作SQL的集合。 存储过程的优点?执行效率很高,因为存储过程是预编译的,即创建时编译,而SQL语句是执行一次,编译一次。调用存储过程可以大大减少同数据库的交互次数。降低网络通信量,因为存储过程执行的时候,只需要call存储过程名,不需要传递大量的SQL语句。 有利于复用。存储过程的缺点?移植性非常差转载 2016-08-23 17:49:48 · 1682 阅读 · 0 评论 -
VS2010 VS2012无法引用System.Data.OracleClient 解决方案
摘要: 我们想用微软自带的System.Data.OracleClient来操作oracle数据库,但是vs2010及以后版本无法直接引用改程序集。是由于微软在.Net框架4.0中已经决定撤销使用System.Data.OracleClient,造成在VS2010中无法连接Oracle数据库,但它还依旧存在于.Net架构中,我们可以通过自己引用。具体方法如下:在需要引用的程序集引用文件转载 2016-11-30 11:19:21 · 5160 阅读 · 0 评论 -
c#操作oracle的通用类
using System; using System.Data; using System.Data.OracleClient; using System.Collections; using System.Reflection; namespace MyOraComm { /// /// ConnDbForOracle 的摘要说明。 /// public clas转载 2016-11-30 11:37:08 · 4791 阅读 · 0 评论 -
Oracle 中循环遍历某张表,并对符合条件的进行Update操作
BEGINFOR L_RECORD IN (select RECORD_ID,CURR_PERIOD,PERIOD_START_DATE, (sysdate- PERIOD_START_DATE) diffTime,(P.PERIOD_END_DAY-P.PERIOD_BEGIN_DAY) periodDiffDay from CPS_PATIENT_PATH_RECORD t1inner原创 2017-03-12 21:44:45 · 5327 阅读 · 0 评论 -
利用Powerdesigner16.5(64位)连接64位oracle逆向工程数据库
利用Powerdesigner16.5(64位)连接64位oracle逆向工程数据库 记录一次Powerdesigner通过odbc连接64位oracle数据库。林林总总国内看到都是些乱七八糟没几个靠谱的。找到的都是32位程序,去链接64位的库老是说odbc驱动不对,照网上搞异常蛮烦,说什么Powerdesigner是32位程序。我想这个一个大的软件公司跟不上潮流不可转载 2017-11-18 15:12:17 · 1822 阅读 · 0 评论 -
PowerDesigner概念模型实体关系(one-one,one-many,many-one,many-many,Dependent,Mandatory,Dominant role)说明
在PowerDesigner的概念模型中,实体之间的关系是非常重要的,也决定了从概念模型转化到物理模型时的表现形式,所以有必须深究其中的相关设置。做数据库重要的就是表与表之间的关系,而这个关系是连接所有数据库系统的纽带,所以即使我们不用PD,也应该重视表与表之间的关系。这也是关系型数据库的由来。PD中的表与表之间的关系有四种,分别是one-one(一对一),one-many(一对多),ma原创 2017-11-18 15:27:13 · 2476 阅读 · 0 评论 -
powerdesigner ER图建模教程
PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。它有多种建模文件,主要有概念数据据模型(CDM)、逻辑数据模型(LDM)、物理数据模型(PDM)、面向对象模型原创 2017-11-18 15:39:25 · 923 阅读 · 0 评论 -
oracle分析函数Rank, Dense_rank, row_number
oracle分析函数Rank, Dense_rank, row_number分析函数2(Rank, Dense_rank, row_number) 目录===============================================1.使用rownum为记录排名2.使用分析函数来为记录排名3.使用分析函数为记录进行分组排名一、使用row转载 2017-11-15 16:39:46 · 608 阅读 · 0 评论 -
关于oracle with table as的用法
最近在论坛经常看到有人使用with table as语句,一般都是构建一个临时表,用于测试,经研究此语句的用法我理解有以下好处: 1) 不用实际建表,可以轻松构建一个临时表,通过对这个表的处理测试一些功能;例如:with t as (select '010-82696948' telfrom dualunionallselect'020 82167684'from dualunion alls...转载 2018-03-26 15:16:16 · 10615 阅读 · 0 评论