Oracle学习
xiongwenhua365
这个作者很懒,什么都没留下…
展开
-
sqlloader的使用
一、以逗号分隔的TXT文件,假设存在 f:/sqlloader/loader.txt1,12,1a,b,c11,22,33 二、控制文件,f:/sqlloader/loader.ctlload datainfile f:/sqlloader/loader.txtappendinto table test fields terminated by ,(原创 2011-06-23 23:07:00 · 355 阅读 · 0 评论 -
execute immediate 动态传入表名
create or replace procedure myproc(v_table varchar2)as v_count number; s varchar2(100);begin s := 'select count(1) from ' || v_table; execute immediate s into v原创 2012-12-10 22:41:28 · 1077 阅读 · 0 评论 -
oracle数组的简单介绍及应用
oracle提供了三种不同类型的数组:1.联合数组(也就是index_by表)2.嵌套表(与联合数组的定义类似,就是少了个index_by的子句)3.可变数组 1.联合数组一个例子。declare type myArrType is table of test%rowtype index by pls_integer; myArr myA原创 2012-08-11 19:42:14 · 323 阅读 · 0 评论 -
通过子表查父表,通过父表查子表
两上表student 和 teacher 其中,student表外键约束依赖于teacher表情形一:已知student 表,如何找到student的父表? select table_name from user_constraints where constraint_name = (select r_constraint_name from user_constraints whe原创 2012-08-05 23:13:51 · 730 阅读 · 0 评论 -
oracle查询通配符做普通字符使用
SQL> select * from test; ID NAME---------- -------------------- 1 baaab 2 ba_ab 3 ba%abSQL> select * from test where name like '%_%'; ID NAME原创 2012-07-06 20:50:47 · 854 阅读 · 0 评论 -
删除某个schema下的所有表
declare s varchar2(100);begin dbms_output.put_line('----------------start to drop child tables---------------'); --查询某个父表的所有子表,因为必须先干掉子表,才能再干掉父表 for myrec in (select con原创 2012-04-03 12:13:53 · 3521 阅读 · 0 评论 -
去掉Oracle日期中前面的数字0
SQL> select to_char(hire_date,'yyyy-MM-dd') from employees where rownum < 10;TO_CHAR(HI----------1999-06-212000-01-131987-09-17原创 2011-07-24 20:54:10 · 3805 阅读 · 0 评论 -
oracle的随机数
ORACLE里面取随机数,用到是dbms_random这个包1. dbms_random.value 2.第二种形式返回一个大于或等于 LOW ,小于 HIGH 的随机数。 dbms_random.value(55,100) 3.NORMAL 函数返回服从正态分布的一组数。此正态转载 2011-07-13 23:14:52 · 1199 阅读 · 0 评论 -
oracle外键约束
新建父表SQL> create table teacher 2 ( 3 id number primary key, 4 name varchar2(10) 5 );Table created.新建子表SQL> 1原创 2011-07-13 23:13:50 · 360 阅读 · 0 评论 -
消除oracle通配符的特殊含义
让oracle的通配符(_*)不具有特殊含义SQL> select * from test; ID NAME---------- -------------------- 1 a_ 2 bb_ 3 cc原创 2011-07-24 15:59:32 · 484 阅读 · 0 评论 -
oracle使用绑定变量
1 begin 2 for i in 1..10 loop 3 execute immediate 'insert into test values(:x,chr(:x + 96))' using i,i; 4 end原创 2011-07-07 23:22:45 · 317 阅读 · 0 评论 -
更新游标的用法
更新游标包括两部分:1. 声明游标时,cursor mycur is select * from test for update --锁定了表的整行.2. cursor mycur is select * from test for update of name --只锁定nam原创 2011-07-07 23:41:20 · 623 阅读 · 0 评论 -
oracle的默认配置login.sql
SQL*PLUS允许建立一个login.sql文件,每次启动SQL*PLUS时都会执行这个脚本。另外允许建立一个SQLPATH的环境变量,这样,不论这个login.sql脚本具体在哪个目录下,SQL*PLUS都有找到它。1. 建立login.sql脚本文件,并将login.sql原创 2011-07-07 23:04:53 · 470 阅读 · 0 评论 -
测试重复健的触发器
create table res_treecomponent_table_dup as select * from res_treecomponent_table where 1= 0;--用来测试重健的触发器create or replace tri原创 2011-07-05 01:23:16 · 362 阅读 · 0 评论 -
oracle闪回特性
Oracle闪回特性在利用闪回功能前需要确认:1、用户有对dbms_flashback包有执行权限!2、进行闪回查询必须设置自动回滚段管理,在init.ora设置参数UNDO_MANAGEMENT=AUTO,参数UNDO_RETENTION=n,决定了能往前闪转载 2011-07-03 17:17:22 · 290 阅读 · 0 评论 -
oracle游标的使用
游标(CURSOR)也叫光标,在关系数据库中经常使用,在PL/SQL程序中可以用CURSOR与SELECT一起对表或者视图中的数据进行查询并逐行读取。Oracle的游标分为显式游标和隐式游标。显式游标(Explicit Cursor):在PL/SQL程序中定义的,用于查询的游标称作显示式游标。隐式游标(Implicit Cursor):是指非PL/SQL程序中定义的,而且是在PL/SQL中使用u原创 2011-07-03 00:03:33 · 325 阅读 · 0 评论 -
如何将Oracle 当前日期加一天、一分钟?
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual ,sysdate+1 加一天sysdate+1/24 加1小时sysdate+1/(24*60) 加1分钟sysdate+1/(24*60*60) 加1秒钟类推至毫秒0.001秒转载 2011-07-02 19:32:26 · 424 阅读 · 0 评论 -
pl/sql模拟java的split函数
create or replace procedure mysplit(s varchar2)as i number := 1; ss varchar2(10);begin loop select regexp_substr(s,'[^,]+',1,i) into ss from dual; exit when(ss is null or length(ss) =原创 2012-12-22 23:21:25 · 321 阅读 · 0 评论