ORACLE系统包介绍

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle 系统包

DBMS_OUTPUT

a)启用

i. dbms_output.enable(buffer_size in integer default 20000);

ii. set serveroutput on;

b)禁用

i. dbms_output.disable;

c)PUT和PUT_LINE

i. PUT:所有信息显示在同一行

ii. PUT_LINE信息显示后,自动换行

d)NEW_LINE用于在行的尾部追加行结束符,一般用PUT同时使用

e)GET_LINE和GET_LINES

i. DBMS_OUTPUT.GET_LINE(li ne 0UTVARCHAR2,status OUT INTEGER)用于取缓冲区的单行

信息

ii. DBMS_OUTPUT.GET_LINES(lines OUT chararr,numlies IN OUT INTEGER) 用于取得缓冲区的多行信息

DBMS_JOB

a)SUBMIT用于建立一个新作业

语法

DBMS_JOB.SUBMIT(

job OUT BINARY_INTEGER,

what IN VARCHAR2,

next_date IN DATE DEFATULT SYSDATE, interval IN VARCHAR2 DEFAULT ' NULL' ,

no_parse IN BOOLEAN DEFAULT FALSE, instance IN BINARY_INTEGER DEFAULT

any_instance, force IN DEFAULT FALSE);

例子

VAR jobno NUMBER;

BEGIN

DBMS_JOB.SUBMI(

:jobno,

'pro_hrs101d0_ins_hrs101t0', sysdate,

‘sysdate+1 ');

b)REMOVE!于删除作业队列中的特定作业

语法:DBMS_JOB.REMOVE(jov IN BINARY_INTEGER);

例子:DBMS_JOB.REMOVE(10);--删除JOB号为10 的JOB

c)CHANGE用于改变与作业相关的所有信息

语法:

DBMS_JOB.CHANGE(

job IN BINARY_INTEGER,

what IN VARCHAR2,

next_date IN DATE,

interval IN VARCHAR2, instance IN BINARY_INTEGER DEFAULT NULL, force IN

BOOLEAN DEFAULT FALSE);

例子:execute dbms_job.change(2,null,null, 'sysdate+7')-修改2 号job 的

间隔时间为7 天

d)WHA:T 用于改变作业要执行的操作

语法:DBMS_JOB.WHAT(job IN BINARY_INTEGER,what IN VARCHAR2);

e)NEXT_DAT:用于改变作业的下次运行日期

语法:DBMS_JOB.NEXT_DATE(job in BINARY_INTEGER,next_date IN DATE);

f)INSTANCE用于改变运行作业的例程

语法:DBMS_JOB.INSTANCE(job IN BINARY_INTEGER, INSTANCE IN BINARY_INTEGER,

force IN BOOLEAN DEFAULT FALSE);

g)INTERVAL用于改变作业的运行时间间隔

语法:DBMS_JOB.INTERVAL(job IN BINARY_INTEGER,interval IN VARCHAR2);

h)BROKEN用于设置作业的中断标记.当中断了作业之后,作业将不会被运行

语法:DBMS_JOB.BROKEN(job IN BINARY_INTEGER,

broken IN BOOLEAN,

next_date IN DATE DEFAULT SYSDATE);

i)RUN用于运行已存在的作业

语法:DBMS_JOB.RUN(jobin BINARY_INTEGER,force IN BOOLEANDEFAULTFALSE); 三、DBMS_PIPE

概述:在同一例程的不同会话之间的管道通信

a)CREATE_PIPE用于建立公用或私有管道.如果参数private 为TRUE则为私有管道语法:

DBMS_PIPE.CREATE_TYPE(

pipename IN VARCHAR2,-- 指定管道的名称maxpipesize IN INTEGER DEFAULT 8192,--

指定管道消息的最大尺寸private IN BOOLEAN DEFAULT TRUE) --TRUE 为私有,FALSE 为

公用

REURN INTEGER;--如果返回为0,则管道建立成功,否则为建立管道失败

b)PACK_MESSAG用于将消息写入到本地消息缓冲区。

语法:DBMS_PIPE.PACK_MESSAGE(item IN VARCHAR2/NCHAR/NUMBER/DATE);

DBMS_PIPE.PACK_MESSAGE_RAW(item IN RAW); DBMS_PIPE.PACK_MESSAGE_ROWID(item

IN ROWID);

c)SEND_MESSAG用于将本地消息缓冲区的内容发送到管道

语法:DBMS_PIPE.SEND_MESSAGE(

pipename IN VARCHAR2,

timeout IN INTEGER DEFAULT MAXWAIT,-- 指定发送消息的超时时间

maxpipesize IN INTEGER DEFAULT 8192)

RETURN INTEGER;-- 如果返回为0,则发送成功,1为超时,3 为出现中断

相关文档
最新文档