ORACLE
didiaodezhu
这个作者很懒,什么都没留下…
展开
-
PL/SQL 常用函数
常用函数 1)处理字符的函数 || CONCAT ---并置运算符。 格式∶CONCAT(STRING1, STRING2) 例:’ABC’|| ’DE’=’ABCDE’ CONCAT(‘ABC’,’DE’) =’ABCDE’ ASCII---返回字符的ASCII码。 例:ASCII(‘A’) = 65 CHR---返回指定ASCII码的字符。 例转载 2009-09-17 13:49:00 · 519 阅读 · 0 评论 -
全面学习ORACLE Scheduler特性(4)创建和管理Schedule
三、使用Schedules 10g 中新推出的SCHEDULER可能确实会让很多初接触的朋友感觉晕头晕脑,相比之前的jobs,SCHEDULER中新增的概念太多。比如说jobs,仍然可以理解成之前版本中的jobs,不过功能更加强大(注意10g中也仍然可以使用普通jobs,这是废话,相信看本篇文章的朋友目前应该还是这样在用),比如说program,指的是运行的程序(把要做什么单提出来了),比如转载 2009-12-16 16:39:00 · 743 阅读 · 0 评论 -
全面学习ORACLE Scheduler特性(2)管理jobs
1.2 管理Jobs1.2.1 启用Jobs 前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行。对于这种情况,DBMS_SCHEDULER包中提供了一个过程ENABLE,可以用来修改JOB的启用状态,调用方式非常简单,例如:SQL> exec dbms_scheduler.enable(¨INSER转载 2009-12-16 16:49:00 · 731 阅读 · 0 评论 -
dbms_job的用法
一个简单例子: 1、创建测试表SQL> create table a(a date);表已创建。2、创建一个自定义过程SQL> create or replace procedure test as2 begin3 insert into a values(sysdate);4 end;5 /过程已创建。3、创建JOBSQL> variable job1 number;SQL> SQL> begi转载 2009-12-16 17:01:00 · 1284 阅读 · 0 评论 -
全面学习ORACLE Scheduler特性(5)Schedules调度Programs执行的Jobs
3.2 Schedules调度Programs执行的Jobs 通过schedule调度program的执行的job,看到这样的形容是不是让你彻底晕头了,就说明你还是没搞明白10g中SCHEDULERS特性管理的jobs的含意,让三思更直白地给你描述描述。10g版本中SCHEDULER将JOB分成了多个部分,program负责做什么,schedule负责啥时候做,job就简单了,一个字:做。转载 2009-12-16 16:37:00 · 725 阅读 · 0 评论 -
全面学习ORACLE Scheduler特性(3)使用Programs
二、使用Programs 在论坛中偶尔见过有人讨论如何在ORACLE中执行操作系统命令,或是ORACLE数据库外的应用。应该说在9i及之前的版本中,虽然说并非完全无法实现(其实还是有多种方式能够变相实现的),不过复杂的实现方式让DBA使劲了力,伤透了心,费劲了事儿。 进入10g版本之后,就完全不必如此费神,因为有了DBMS_SCHEDULER,因为有了PROGRAM。2.1 创建转载 2009-12-16 16:48:00 · 484 阅读 · 0 评论 -
全面学习ORACLE Scheduler特性(1)创建jobs
所谓出于job而胜于job,说的就是Oracle 10g后的新特性Scheduler啦。在10g环境中,ORACLE建议使用Scheduler替换普通的job,来管理任务的执行。其实,将Scheduler描述成管理job的工具已经太过片面了,10G版本中新增的Scheduler绝不仅仅是创建任务这么简单。。。。提示:ORACLE中管理Scheduler是通过DBMS_SCHEDULER转载 2009-12-16 16:50:00 · 719 阅读 · 0 评论 -
Oracle中的日期类型及其相关的函数
Oracle中的日期类型及其相关的函数Oracle提供了很多的内置的日期类型,包括如下几种:DateTimestampTimestamp With Time ZoneTimestamp With Local Time ZoneInterval Year To MonthInterval Day To SecondDate类型用于存储日期,精确到秒,可转载 2010-02-25 11:16:00 · 2511 阅读 · 0 评论 -
今天創建的scheduler_job
1.运行 create_program需要什么权限 ? 要保证create_program能够顺利执行,你同样需要CREATE JOB这个系统权限. 如果一个用户拥有了create any job这个权限,它就可以创建属主为任何用户的程序(SYS用户除外) 2.創建一個jobBEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name原创 2009-12-21 15:59:00 · 845 阅读 · 0 评论 -
[转载]oracle中查看用户权限
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users;2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; 3.查看角色(只能查看登陆转载 2009-12-21 16:00:00 · 443 阅读 · 0 评论 -
[轉載]ORACLE计划(schedule)详解
. 创建jobjob是什么呢? 简单的说就是计划(schedule)加上任务说明. 另外还有一些必须的参数.这里提到的"任务"可以是数据库内部的存储过程,匿名的PL/SQL块,也可以是操作系统级别的脚本.可以有两种方式来定义"计划":1) 使用DBMS_SCHDULER.CREATE_SCHEDULE 定义一个计划;2) 调用DBMS_SCHDULER.CREATE_JOBE过程直接指转载 2009-12-21 16:01:00 · 808 阅读 · 0 评论 -
Oracle自增ID的解决办法
首先创建一个索引,然后创建一个触发器索引的名字: SEQ_tproduct 触发器的名字: addid表名:tproduct自增列名:pid create sequence SEQ_tproduct minvalue 1 start with 1 increment by 1 nocache; create转载 2009-12-25 15:20:00 · 729 阅读 · 0 评论 -
Oracle ROLLUP和CUBE 用法
在做项目经常遇到分科室、人员进行汇总的问题,在ORACLE中对此类问题的处理相当方便!下面以项目中遇到的实例进行说明: 查询语句如下:select f_sys_getsectnamebysectid(a.sectionid) as sectname, --a.sectionid, f_sys_employinfo_getnamebyno(a.buye转载 2010-04-15 16:39:00 · 580 阅读 · 0 评论 -
全面学习ORACLE Scheduler特性(6)设置Repeat Interval参数
3.3 设置Repeat Interval Job 和Schedule中REPEAT_INTERVAL参数都是用来控制执行的频率或周期,虽然说周期是一个时间性概念,不过REPEAT_INTERVAL指定的时候并不是一个时间值,而是由一组关键字描述的时间。 除了前面介绍Job和Schedule的REPEAT_INTERVAL参数时,提到该参数拥有FREQ以及INTERVAL两个关键字,其转载 2009-12-16 16:36:00 · 871 阅读 · 0 评论 -
轉:Oracle-Merge用法详解
Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.在Oracle 10g中MERGE有如下一些改进: 1、UPDATE或INSERT子句是可选的 2、UPDATE和INSERT子句可以加WHERE子句 3、转载 2009-12-10 14:40:00 · 426 阅读 · 0 评论 -
[oracle]ORA-01460: 转换请求无法实现或不合理
一开始以为是编码或者字符集的问题,后来才发现是数据库类型的长度不够!将类型从nvarchar2(2000)换成clob就好了转载 2010-02-05 13:52:00 · 3572 阅读 · 0 评论 -
ORACLE SEQUENCE的简单介绍
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1转载 2009-09-23 09:06:00 · 356 阅读 · 0 评论 -
學習什麽是觸發器
一 Oracle触发器语法触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。功能:1、 允许/限制对表的修改2、 自动生成派生列,比如自增字段3、 强制数据一致性4、 提供审计和日志记录5、 防止无效的事务处理6、 启用复杂的业务逻辑触发器触发时间有两种:a转载 2009-09-22 16:16:00 · 366 阅读 · 0 评论 -
ORACLE PARTITION简介
一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 二、Oracle分区优缺点 优转载 2009-09-24 13:56:00 · 633 阅读 · 0 评论 -
oracle中聚合函数RANK和dense_rank的使用
聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值。 在9i版本之前,只有分析功能(analytic ),即从一个查询结果中计算每一行的排序值,是基于order_by_clause子句中的value_exprs指定字段的。其语法为: RANK ( ) OVER ( [query_partition_clause] order_by_clause ) 在9i版本新增加了合转载 2009-09-24 14:33:00 · 400 阅读 · 0 评论 -
partition by 用法
简单例子: create table aaaa( a varchar2(1), b varchar2(1) ); insert into aaaa values(1,a); insert into aaaa values(1,b); insert into aaa转载 2009-09-24 14:45:00 · 1333 阅读 · 0 评论 -
50条常用语句(以学生表为例)---------
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“”课程比“”课程成绩高的所有学生的学号; SELECT a.S# FROM (SELECT s#,score FROM SC WHERE C#=001)转载 2009-09-25 14:07:00 · 403 阅读 · 0 评论 -
行轉列
--行列互转/******************************************************************************************************************************************************以学生成绩为例子,比较形象易懂整理人:中国风(Roy)日期:2008.06.06***转载 2009-10-12 12:09:00 · 391 阅读 · 0 评论 -
window下如何开放Oracle的端口
作者: 三十而立时间:2009年9月16日 6:40:35 经常有网友朋友问这个问题。 在window的系统下,已经把1521的端口开放出去了,但是从另外一台机器连接服务器的时候 ,还是连不上。 只有把整个防火墙都关闭,才能使其他机器上连接到oracle的服务器。究竟是什么原因叻? 这个原因,还是归结为window系统的一个问题,对于oracle来说,对客户端的连接请求都是通过list转载 2009-10-12 12:18:00 · 1274 阅读 · 0 评论 -
DataTable使用技巧总结
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTa转载 2009-10-12 16:00:00 · 372 阅读 · 0 评论 -
DataTable使用技巧总结
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTa转载 2009-10-12 15:41:00 · 358 阅读 · 0 评论 -
Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
说明: 在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名 identified by 密码(例如:create user cht identifi转载 2009-10-29 09:56:00 · 1788 阅读 · 0 评论 -
truncate,delete,drop的异同点
注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数转载 2009-12-07 10:51:00 · 709 阅读 · 0 评论 -
[轉]oracle 分頁
分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM 40)WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM 40和RN >= 21控制分页查询的每页的范围。上面给出的这个分页查询语原创 2010-04-30 08:23:00 · 525 阅读 · 0 评论