ORACLE
文章平均质量分 70
bingtingabc
这个作者很懒,什么都没留下…
展开
-
在.NET中调用Oracle9i存储过程经验总结
在.NET中调用Oracle9i存储过程可以用多个数据提供者,比如OralceClient,OleDb。本文将用OralceClient为例。.NET语言用C#。 一、调用一个带输入、输出参数的存储过程首先,在Oralce中创建存储过程如下:create or replace procedure GetRecords(name_out out varchar2,age_in原创 2008-10-27 15:21:00 · 562 阅读 · 0 评论 -
Oracle 10g 使用REGEXP_SUBSTR 分拆字符串
SELECT l_count, REGEXP_SUBSTR('add, daddf, dsdf, asdfa, dsfasd, dsfad','[^,]+',1,l_count) AS NAME FROM dual ,(SELECT LEVEL l_count FROM DUAL CONNECT BY LEVELWHERE l_count 查询结果为:lco原创 2016-05-02 19:32:08 · 701 阅读 · 0 评论 -
oracle if exists()
对于Oracle中没有 if exists(...) 的语法,目前有许多种解决方法,这里先分析常用的三种,推荐使用最后一种第一种是最常用的,判断count(*)的值是否为零,如下declare v_cnt number;begin select count(*) into v_cnt from T_VIP where col=1; if v_cnt = 0 the转载 2014-04-08 16:09:42 · 1273 阅读 · 0 评论 -
oracle中的split
1.创建一个array的typeCREATE OR REPLACE Type t_Array Is Varray(2000) Of Varchar2(4000);/2.创建一个functionCREATE OR REPLACE FUNCTION F_SPLITSTR(Str In Varchar2,原创 2013-10-21 17:53:07 · 911 阅读 · 0 评论 -
两个有用Oracle运算:intersect和minus运算
intersect运算 返回查询结果中相同的部分 exp:各个部门中有哪些相同的工种 select job from account intersect select job from research intersect select job from sales; minus运算 返回在第一个查询结果中与第二个查询结果不相同的那部分行记录。原创 2013-10-10 16:09:25 · 600 阅读 · 0 评论 -
Oracle递归查询
有的情况下,我们需要用递归的方法整理数据,这才程序中很容易做到,但是在数据库中,用SQL语句怎么实现?下面我以最典型的树形结构来说明下如何在Oracle使用递归查询。 为了说明方便,创建一张数据库表,用于存储一个简单的树形结构 为了说明方便,创建一张数据库表,用于存储一个简单的树形结构create table TEST_TREE( ID NUMBER,转载 2013-08-26 16:35:50 · 600 阅读 · 0 评论 -
'sqlplus' 不是内部或外部命令,也不是可运行的程序
在DOS下sqlplus、exp、imp命令提示:“不是内部或外部命令,也不是可运行的程序或批处理文件”! 首先,确认oracle安装路径下的根目录%oracle_home%/bin目录下的sqlplus.exe、imp.exe、exp.exe等可执行文件能否正常运行!如果不能运行,那oracle安装文件可能被破坏了,考虑重装oracle;如果可以,看第二步。 接着,在原创 2013-07-09 15:53:25 · 6718 阅读 · 0 评论 -
bat/dos 取得plsql返回值
举个例子,现在有个存储过程p,它有两个参数v1,v2,v1是输入参数,v2是输出参数(类型是整型),现在想把执行p的结果v2返回给bat,那么准备一个sql脚本,内容如下var i numberexec p('INPUT',:i)column return_code new_value rcodeselect :i return_code from dual;exit rcod原创 2013-07-09 14:19:02 · 4195 阅读 · 0 评论 -
oracle trunc (date,dd )函数
截取当天select TRUNC(SYSDATE),trunc(sysdate+1) from dual; select to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd') from dual;select trunc(sysdate,'dd') from dual;select '1' From dual where to_原创 2013-01-23 11:02:59 · 7332 阅读 · 0 评论 -
详解Oracle创建用户权限全过程
本文将介绍的是通过创建一张表,进而实现Oracle创建用户权限的过程。以下这些代码主要也就是为实现Oracle创建用户权限而编写,希望能对大家有所帮助。注意:每条语语分开执行,结尾必须用分号;//创建空间 create tablespace test datafile 'c:\oracle\oradata\orcl9\test.dbf' size 50M default stor原创 2012-08-01 14:26:02 · 536 阅读 · 0 评论 -
导入数据到Oracle有几种方法
前几天搞了下将excel表导入oracle数据库的问题,连查带问带自己摸索,将自己弄过的方法写出来和大家交流。这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例。 方法一,使用SQL*Loader 这个是用的较多的方法,前提必须oracle数据中目的表已经存在。 大体步骤如下: 1 将excle文件另存为一个新文件比如文件名为text.txt,文件类型选文本文件(转载 2011-06-15 10:00:00 · 713 阅读 · 0 评论 -
在oracle中创建unique唯一约束(单列和多列)
oracle中的unique约束是用来保证表中的某一类,或者表中的某一类组合起来不重复的一种手段。我们在可以在创建表时或者创建好后通过修改表的方式来创建oracle中的unique约束。下面是一些创建unique约束的例子:create table unique_test(id number,fname varchar2(20),lname varchar2(20),address varchar2(100),email varchar2(40),constraint name_unique unique(转载 2010-11-10 15:34:00 · 698 阅读 · 0 评论 -
关于sql server的纪录修改冲突解决和oracle的for update 的并发锁定测试
在普通的多用户数据库应用中,经常碰到数据库的记录同时被多个用户阅读且当作正式数据来修改修改。比如:比如有记录r1字段分别为 f1,f2 ,对应的值分别为v1,v2此时有用户u1,u2。过程:1,u1查询到此记录,马上u2也查到此记录2,u1看准了v1,要把它改为v3,开始执行3,u2看准了v1,要把它改为v4,开始执行4,结果可想而知,u1的结果最终变成了v4,而不是其期望的v35,这个就导致了很原创 2009-10-16 17:08:00 · 1170 阅读 · 0 评论 -
数据库sql语言性能监控
1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait group by event order by 4; 2. 回滚段的争用情况 select name, wai转载 2009-05-14 15:33:00 · 542 阅读 · 0 评论 -
如何让oracle的select强制走索引
大多数情况下,oracle数据库内置的查询优化策略还是很成功的,但偶尔也有犯2的时候,即使有索引,也会做全表扫描,可以参考以下语句的写法,强制让select语句使用索引CREATE OR REPLACE VIEW V_RES_CBA ASSELECT /*+INDEX(SEG IDX_T_RES_ALLOSEG_ALLOID)*/ ALLO.ALLOID AS RE原创 2016-08-09 15:48:26 · 1226 阅读 · 0 评论