Database
luckystar2008
个人博客:https://tommy88.top
展开
-
SYS_GUID()与sequence的比较【转】
文章转载于:http://www.cnblogs.com/BradMiller/archive/2010/11/10/1873314.htmlSYS_GUID()与sequence的比较序列生成器sequence所生成的数字只能保证在单个实例里是唯一的,这就不适合原创 2011-09-01 14:27:08 · 1249 阅读 · 0 评论 -
Oracle引起阻塞的情况
Oracle引起阻塞的情况一、唯一性约束引起的阻塞:在session1执行下面的语句中:--创建一个表create table t(x int primary key);--在表中插入一条数据,并提交。insert into t values(1);commit;--修改这条数据,但不提交。update t set x = 2 where x= 1;在S转载 2013-06-19 09:53:55 · 3538 阅读 · 0 评论 -
Oracle三种集合数据类型的比较
From 比特网ChinaByte PL/SQL中没有数组的概念,他的集合数据类型和数组是相似的。在7.3以前的版本中只有一种集合,称为PL/SQL表,在这之后又有两种集合数据类型:嵌套表和varray。其中varray集合中的元素是有数量限制的,index_by表和嵌套表是没有这个限制的。index-by表是稀疏的,也就是说下标可以不连续,varray类型的集合则是紧密的,他的下标没有间隔转载 2013-06-07 14:24:07 · 565 阅读 · 0 评论 -
Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做转载 2013-06-07 13:53:13 · 587 阅读 · 0 评论 -
Oracle中针对中文进行排序
转载http://www.cnblogs.com/discuss/articles/1866953.html在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择:1.按中文拼音进行排序:SCHINESE_PINYIN_M2.按中文部首进行排序:SCHINESE_RADICAL_M3.按中文笔画进行排序:SCHINESE_STROKE_M转载 2013-05-31 10:45:03 · 1803 阅读 · 0 评论 -
ORACLE误删除数据的恢复方法
转载http://wenku.baidu.com/view/e8252300a6c30c2259019e3f.html作者:孙桂琴 Oracle10G之后可以使用flashback闪回功能恢复删除的数据。10G之前用下面的方法。----------------------------------------------------------------------------转载 2013-05-10 11:21:41 · 644 阅读 · 0 评论 -
oralce flashback 使用方法总结
转载http://blog.163.com/wsslian@126/blog/static/7763518920125625211652/select versions_starttime,versions_endtime,versions_xid,versions_operation,id,namefrom ppm_role versions between timestamp minv转载 2013-05-10 11:11:38 · 709 阅读 · 0 评论 -
Oralce自定义函数实现字符串分割
1.定义自定义类型,函数返回自定义类型SQL> create or replace type str_split is table of varchar2(1000); 2 / Type created 2.用一个Function来实现字符串分割的功能。/** 功能:字符串分割。* 参数:p_str 分割的字符串* p_delimiter 分原创 2013-04-08 21:44:29 · 776 阅读 · 0 评论 -
ORACLE 内置函数之 GREATEST 和 LEAST
转载http://dlblog.iteye.com/blog/1274005Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESCE / GREATEST /LEAST. 1. COALESCE 返回该表达式列表的第一个非空v转载 2013-04-03 23:27:23 · 1289 阅读 · 0 评论 -
数据库并发
Oracle模拟数据库并发的一个例子在session1执行下面的语句中:--创建一个表create table t(x int primary key);--在表中插入一条数据,并提交。insert into t values(1);commit;--修改这条数据,但不提交。update t set x = 2 where x= 1;在Sessions2中,原创 2013-06-19 09:46:50 · 646 阅读 · 0 评论 -
如何确定系统中存在没有绑定变量的情况
如何确定系统中存在没有绑定变量的情况,可以使用ASKTOM网站提供的remove_constants()函数查看共享池中SQL运行情况create or replace function remove_constants(p_query in varchar2) return varchar2is l_query long; l_char varchar2(1);转载 2013-06-19 09:51:03 · 782 阅读 · 0 评论 -
Mybatis逆向工程生成代码
mybatis官方提供了一个逆向工程插件,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上可以...原创 2018-09-12 09:45:20 · 231 阅读 · 0 评论 -
Listagg() - Oracle11gR2进行字符串汇总的新函数
在 wait4friend 的一篇老文《Oracle进行字符串汇总》里面,提到了三种常用的方式。其中比较好用的是10g之后提供的wm_concat()函数。在日常使用中,我们发现了wm_concat函数的一些缺点。首先是这个函数本身不支持排序,要通过嵌套视图的方式进行排序。另一个问题是,当排序过程中,可能会遭遇ora-01467 sort key too long错误。 在11gR2版转载 2013-07-03 11:21:36 · 1241 阅读 · 0 评论 -
Oracle函数wmsys.wm_concat的使用
文章转载http://www.2cto.com/database/201204/128928.html 首先介绍语法:wmsys.wm_concat Definition:The Oracle PL/SQL WM_CONCAT function is used to aggregate data from a number of rows into a single r转载 2013-07-03 11:15:54 · 919 阅读 · 0 评论 -
Oracle的锁表与解锁
转载http://www.cnblogs.com/swcjdSELECT /*+ rule */ s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL) LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.sid,s.serial#,s.terminal,转载 2013-07-17 17:41:25 · 666 阅读 · 0 评论 -
Oracle ltrim rtrim trim函数
select ltrim(' Miss') from dual;--去掉左边的空格,返回Missselect ltrim('Miss you','kM') from dual;--iss you--从第一个字符串的第一个字符开始查找是否在第二个字符串中出现过,出现过则截掉。如:select ltrim('Miss you','Mi') from dual;--ss youselect lt原创 2013-06-26 09:56:18 · 815 阅读 · 0 评论 -
Oracle lpad与rpad函数
lpad(str1,len,pad):把pad添加到str1的左边,返回的字符串的长度是len。--1.原字符串长度不够,左边补0select lpad('Miss',10,'0') from dual;--000000Miss--截取原字符串的前2个字符select lpad('Miss',2,'0') from dual;--Mi--第三个参数不写,左边会补空格。sel原创 2013-06-26 14:36:51 · 1354 阅读 · 0 评论 -
oracle forall 介绍 .
本文转载:http://blog.csdn.net/a9529lty/article/details/2937693 FORALL语句的一个关键性改进,它可大大简化代码,并且对于那些要在PL/SQL程序中更新很多行数据的程序来说,它可显著提高其性能。1:用FORALL来增强DML的处理能力Oracle为Oracle8i中的PL/SQL引入了两个新的数据操纵语言(DML)语句:B转载 2013-06-25 10:26:51 · 665 阅读 · 0 评论 -
Oracle中的异常处理
Oracle中的异常处理:1.Oracle内置的已命名的异常,如no_data_found。例:create or replace procedure p_test_exception(p_userid in varchar2,p_empno in varchar2)as v_ename varchar2(32);v_error_text varchar2(500)原创 2013-04-02 20:38:48 · 757 阅读 · 0 评论 -
Oracle常用日期函数
以下大部分转载于www.cnblogs.com/linximf/archive。1、 常用日期型数据类型1.1、DATE这是ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型。DATE表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日date类型在数据库中的存储固定为7个字节,格式为: 第1字节:世纪+100 第2字节:原创 2013-04-02 20:32:49 · 674 阅读 · 0 评论 -
Oracle用户解锁
在安装完Oracle 10g之后,想打开sql*plus来学习,用scott用户来连接数据库,可输了好几次都提示一个错误。error: the account is locked。上网查,用管理员登陆,然后对scott解锁。我用的PL/SQL Developer,以sys/system登陆,然后执行下面的命令:alter user scott accou原创 2012-06-10 01:19:38 · 599 阅读 · 0 评论 -
IBatis之Iterate
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。Iterate 的属性: prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选) property - 类型为 java.util.List 的用于遍历的元素(必选) open - 整个遍历内容体开始的字符串,用于定义括号(可选)原创 2012-04-28 14:48:30 · 3031 阅读 · 0 评论 -
Log Explorer
今天操作数据库的时候不小心把一个表给Delete操作了,所有数据都没有了,备案是很久以前的,那个惊慌啊,后来在网上找到方法给恢复了,有惊无险,共享给大家使用Log Explorer 4.1Log Explorer 4.1 For SQL Server 2005下载地址原创 2011-10-07 12:15:30 · 687 阅读 · 0 评论 -
Oracle查找某个字段所在的表
--查找该用户下(其他表如果有访问权限也算)有备注的字段中某个字段所在的表SELECT * FROM ALL_COL_COMMENTS where column_name = 'BOOK_FLAG' or column_name = 'book_flag'原创 2011-08-31 14:32:08 · 8856 阅读 · 1 评论 -
Oracle产生随机数
1.随机数:dbms_random.value(1,n);产生1到n之间的随机数。如产生一个1到100之间的随机数:select round(dbms_random.value(1,100)) from dual;原创 2011-09-19 21:58:56 · 473 阅读 · 0 评论 -
Oracle查询字段所在表及字段长度
--查询包含DNO字段,且字段长度select * from user_tab_cols t where t.column_name like '%DNO%' and data_length 有时候数据库中有很多表包含同一个字段时,要修改表字段长度,可以通过这个原创 2011-09-19 14:14:06 · 7294 阅读 · 0 评论 -
MSSQL用批处理执行多个sql脚本
开始->运行->cmd->osql -?可以查看参数信息。注意: osql 并不支持 SQL Server 2008的所有功能。请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。用法: osql原创 2011-09-10 02:57:48 · 2116 阅读 · 0 评论 -
oracle中的''和null
declare v_new varchar2(20) := ''; cursor c_test is select distinct no from test where dno is not null; v_test c_test%rowtype;begin原创 2011-09-09 15:29:21 · 382 阅读 · 0 评论 -
Oracle发送邮件
CREATE OR REPLACE PROCEDURE send_mail(p_recipient VARCHAR2, -- 邮件接收人 p_subject VARCHAR2, -- 邮件标题 p_message VARCHAR2转载 2012-12-08 14:55:42 · 809 阅读 · 0 评论 -
Oracle日期处理——Extract()函数
1.2个日期相差的天数:--相减得到相差的天数 select to_date('2012-10-18 15:29:01', 'yyyy-mm-dd hh24:mi:ss') - to_date('2012-08-09:18:04:02', 'yyyy-mm-dd hh24:mi:ss') from dual;2.相原创 2012-12-26 20:05:02 · 3010 阅读 · 0 评论 -
oracle中sign函数
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 SQL>select sign(100),sign(-100),sign(0) from dual;SIGN(100) SIGN(-100) SIGN(0)1 -1 0原创 2013-04-01 21:21:12 · 838 阅读 · 0 评论 -
Oracle中Hint深入理解
Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使转载 2013-01-12 12:18:14 · 615 阅读 · 0 评论 -
Java获取Oracle存储过程返回的自定义嵌套表
在命令窗口执行以下语句,创建自定义类型NESTEDARRAY。create or replace TYPE NESTEDARRAY IS TABLE OF NVARCHAR2(32);在存储过程中使用自定义类型NESTEDARRAY。PROCEDURE GET_ARR_RESULT(INPUTARRAY IN NESTEDARRAY, AR OUT NESTEDARRAY) IS BE原创 2013-01-12 12:13:22 · 1613 阅读 · 1 评论 -
Java获取Oracle存储过程返回的Cursor
存储过程:Package Head:CREATE OR REPLACE PACKAGE TEST IS --返回cursor TYPE CURSOR_RESULT IS REF CURSOR; PROCEDURE GET_CURSOR_RESULT(P_STARTINDEX IN INT, P_LIMIT IN原创 2013-01-12 12:08:22 · 1848 阅读 · 0 评论 -
Oracle connect by 例子
转载自:http://hi.baidu.com/ljmybfq/item/f9d48a1651ce560dd1d66d45层次查询子句connect by,用于构造层次结果集的查询。 语法: [ START WITH condition ] CONNECT BY [ NOCYCLE ] condition 说明: a、START WITH:告诉系统以哪个节点作为根结点开始查转载 2013-01-06 22:17:04 · 1379 阅读 · 0 评论 -
存储过程动态参数
create or replace procedure testdynamicparams(p_cmbno in varchar2, p_trade_date in varchar2) is cursor testcursor is select cmbn原创 2011-07-28 15:59:08 · 1128 阅读 · 0 评论 -
Oracle标签的使用
在用Code Xpert扫描代码时,提示“Avoid unlabeled nested LOOPs”.即避免使用没有标签的嵌套循环。那么标签是怎么使用的呢?看下面的例子:procedure test_label is cursor mycursor is select t.trustee from xxxt whe原创 2011-07-28 16:01:52 · 2398 阅读 · 0 评论 -
oracle大批量数据更新
比如现在对一个表增加一个流水字段,非空,唯一。该表数据量为3000000.假设表名为test。1.使用cursor。declare cursor c_test is select rowid from test; v_test c_test%rowtype;begin open c_test; loop fetch原创 2011-07-28 16:06:21 · 2631 阅读 · 0 评论 -
Oracle存储过程导出结果到文本文件
前言在存储过程中,我们经常会使用dbms_output来输出一些调试信息到控制台,方便查看。在使用PLSQL DEV的过程中,经常会遇到缓冲区太小的情况,如果你要显示的内容比较多的话。这个时候我们可以使用oracle提供的UTL_FILE包来实现将这些信息输出到一个文本文件中。操作说明创建一个目录(需要管理员权限)create or replace directory ...原创 2018-09-13 09:42:03 · 6106 阅读 · 0 评论