2011年8月2日

oracle inside(11)

摘要: 将 JAVA 引擎加到 Oracle 数据库中是 Oracle8i 版本中最激动人心的功能之一。因此:1) 将 JAVA 类和源代码装载到数据库中;2) 在 PL/SQL 中调用 JAVA 代码;3) 在 JAVA 中调用 PL/SQL 代码;11.1 Oracle JAVA1. Jserver:由以下四部分组成:1) JAVA 虚拟机(JVM)2) JDBC 支持3) SQLJ 运行支持4) SQLJ 转换器Oracle 公司的JVM的名称为Aurora,同时通过浏览新创建的Oracle8i数据库,将看到一个名为AURORA$ORB$UNAUTHENTICATED 的用户,此用户用于到ORB 阅读全文

posted @ 2011-08-02 11:22 Mayvar 阅读(214) 评论(0) 推荐(0) 编辑

oracle inside(10)

摘要: 10.1 报警(DBMS_ALERT 程序包)DBMS_ALERT通常是一种在提交事务时触发的单向异步通信。除非事务被提交,否则不向报警发送任何消息,因此在事务被提交以前,等待的过程或应用程序将一直处于空闲状态。由于DBMS_ALERT使用COMMIT,因此不能在Orcle Forms 中使用这个包。由于DBMS_ALERT包是基于事务的,因此任何ROLLBACK 都将删除所有的报警。要使用SYS.DBMS_ALERT包,要对此包有 EXECUTE 权限。10.1.1 建立报警的次序1) 使用 REGISTER 记录特定的报警;2) 使用 WAITONE 过程,等待特定的报警;3) 使用 WA 阅读全文

posted @ 2011-08-02 11:19 Mayvar 阅读(128) 评论(0) 推荐(0) 编辑

oracle inside(9)

摘要: 作业是一个存贮程序,它被安排在特定的时间运行,或者在特定的事件发生后运行。9.1 DBMS_JOB 包DBMS_JOB 包是将作业提交到作业队列。作业队列是一个保存安排的作业的地方。通过作业队列,可以安排这些作业执行的时间以及执行的频度,还可以查找当前的关于当前运行的作业、终止的队列、作业调度的信息或其他作业的信息。过 程 名 描述BROKEN 禁止作业运行,如果代码被标记为损坏,Oracle 将不执行它CHANGE 修改指定作业的详细资料,如作业描述、作业运行时间或作业执行的间隔INTERVAL 修改指定作业执行的间隔NEXT_DATE 修改指定作业下一次执行的时间REMOVE 从队列中删除 阅读全文

posted @ 2011-08-02 11:18 Mayvar 阅读(140) 评论(0) 推荐(0) 编辑

oracle inside(8)

摘要: DBMS_OUTPUT包是一个可以用SQL*Plus将输出显示到屏幕上的包;UTL_FILE是一个服务器端的内置读写文件包,可以在服务器端读写数据;TEXT_IO是一个客户端的读写包,可以在客户端读写数据。8.1 DBMS_OUTPUT 程序包利用SET SERVEROUTPUT ON 开启屏幕显示时,实际上是命令SQL*Plus 在每一条语句后检查缓冲区中的数据,以取回并显示它。同时,DBMS_OUTPUT也可以用于两个PL/SQL 过程之间交换数据。PL/SQL 高级编程第 30 页 共 30 页8.1.1 开启屏幕显示1. 使用命令行:SET SERVEROUTPUT ON; (Orac 阅读全文

posted @ 2011-08-02 11:17 Mayvar 阅读(137) 评论(0) 推荐(1) 编辑

oracle inside(7)

摘要: 执行动态SQL有两种方式:一是 DBMS_SQL 程序包;二是本机动态 SQL。7.1 DBMS_SQL 程序包功能强大,函数众多,很少使用。7.2 本机动态SQL7.2.1 执行 DDL 语句BEGINPL/SQL 高级编程第 29 页 共 29 页EXECUTE IMMEDIATE 'CREATE TABLE yang_test (eid VARCHAR2(30) PRIMARY KEY)';EXECUTE IMMEDIATE 'ALTER TABLE yang_test ADD (ePhoto CLOB)';EXECUTE IMMEDIATE 'A 阅读全文

posted @ 2011-08-02 11:16 Mayvar 阅读(150) 评论(0) 推荐(0) 编辑

oracle inside(5)

摘要: 5.1 大对象数据类型1. 大对象数据类型(LOB)可以存贮高达4GB的非结构化数据(如文本、图像、视频剪辑、声音信号等)。对象 位置 描述CLOB 内部 字符大型对象,保存多达4GB的单字节字符,其中的字符与数据库当前的字符集对应NCLOB 内部 国家特有字符大型对象,保存多达4GB的单字节字符或多字节字符,其中的字符符合ORACLE数据库定义的国家特有字符集BLOB 内部 二进制大型对象,保存多达4GB的原始(未结构化)的数据BFILE 外部 二进制文件,存贮为操作系统可存取的文件,使ORACLE可以操纵它,这些文件可以位于各种存贮设备上,包括DVD_ROW、CD_ROW和磁盘驱动器外部指 阅读全文

posted @ 2011-08-02 11:14 Mayvar 阅读(222) 评论(0) 推荐(0) 编辑

oracle inside(6)

摘要: 6.1 事务事务是一个工作逻辑单元,由一条或多条数据操纵语句(DML)或数据定义语句(DDL)组成。Oracle 提供了两种通用的事务:只读事务和读写事务。只读事务规定,查询到的数据以及该事务中的查询将不受发生在数据库中的任何其他事务的影响。而读写事务保证查询返回的数据与查询开始的数据一致。只读事务实现事务级读取的一致性,这种事务只能包含查询语句,而不能包含任何DML 语句。在这种情况下,只能查询到事务开始之前提交的数据。因此,查询可以执行多次,并且每次返回的结果都相同。读写事务提供语句级读取的一致性,这种事务将看不到这查询执行期间提交的事务所做的修改。1) 开始事务:当第一条SQL 语句开始 阅读全文

posted @ 2011-08-02 11:14 Mayvar 阅读(125) 评论(0) 推荐(0) 编辑

oracle inside(4)

摘要: 4.1 编写DEBUG 程序包(例程)CREATE OR REPLACE PACKAGE yang_debug ASPROCEDURE out(p_comments IN VARCHAR2, p_varible IN VARCHAR2);PROCEDURE Erase;END yang_debug;CREATE OR REPLACE PACKAGE BODY yang_debug ASPROCEDURE out(p_comments IN VARCHAR2, p_varible IN VARCHAR2) ISl_file UTL_FILE.FILE_TYPE;BEGINl_file := UT 阅读全文

posted @ 2011-08-02 11:13 Mayvar 阅读(139) 评论(0) 推荐(0) 编辑

oracle inside(3)

摘要: 3.1 对象的定义对象可以嵌套,而且嵌套级数不限。1. 例程:-- 创建对象头CREATE OR REPLACE TYPE test_obj IS OBJECT(m_Name VARCHAR2(30),m_id NUMBER,MEMBER PROCEDURE GetName(p_id IN NUMBER, p_name OUT VARCHAR2),MEMBER FUNCTION GetName(p_id NUMBER) RETURN VARCHAR2,MEMBER PROCEDURE SetName(p_id IN NUMBER, p_name IN VARCHAR2));/-- 创建对象包体 阅读全文

posted @ 2011-08-02 11:12 Mayvar 阅读(116) 评论(0) 推荐(0) 编辑

oracle inside(2)

摘要: 第二章 触发器2.1 触发器的创建CREATE TRIGGER [schema.]trigger_name{BEFORE|AFTER} {UPDATE|INSERT|DELETE} ON [schema.]table_name[ [REFERENCING correlation_names] FOR EACH ROW [WHEN (condition)] ]DECLAREdeclarationBEGINpl/sql codeEND;/2.2 触发器的管理1) 查看触发器:SQL> desc ALL_TRIGGERS;名称 空? 类型-------------------- ------- 阅读全文

posted @ 2011-08-02 11:11 Mayvar 阅读(127) 评论(0) 推荐(0) 编辑

oracle inside(1)

摘要: 1.1 索引表索引表是将数据保存在内存中!!!1.1.1 定义索引表-- 定义记录集TYPE yang_rec IS RECORD( ename varchar2(30), eid NUMBER );-- 定义索引表类型TYPE yang_tab IS TABLE OF yang_rec INDEX BY BINARY_INTEGER;-- 定义索引表对象的实例test_tab yang_tab;1.1.2 将条目插入到索引表中索引表中的每个元素都由一个唯一的整型值(索引)标识。引用表中的值时,必须提供该值的索引。索引的范围:1 ---- 2147483647,索引值可以不连续,同时PL/SQ 阅读全文

posted @ 2011-08-02 11:10 Mayvar 阅读(235) 评论(0) 推荐(0) 编辑

WF 工作流(6)

摘要: 在这一章,你将添加逻辑去验证订单项是否有存货。为了去完成它,你需要重复用同样的方式验证每一个订单项,如果有一项没有存货,你将抛出一个异常,这个异常可以被你的工作流捕获。重新利用Chapter5项目打开Visual Studio 2010 创建一个新的项目,选择Blank Solution模板,如图Figure6-1所示。输入解决方案名为Chapter06。复制Chapter05目录下的OrderProcess文件夹到Chapter06的目录下。在Solution Explorer中,右击Chapter06解决方案,选择Add>Existing Project。Add Existing P 阅读全文

posted @ 2011-08-02 08:57 Mayvar 阅读(263) 评论(0) 推荐(0) 编辑

WF 工作流(5)

摘要: 在第四章,你建立了一个工作里计算订单的总费用。在这一章,你将添加逻辑去添加每一个订单项的费用。复用第四章的项目打开Visual Studio 2010,创建一个新的项目。选择一个Blank Solution模板,如图Figure5-1所示。输入解决方案名为Chapter05。然后,复制Chapter04的文件夹到Chapter05的文件夹,如图Figure5-2所示。在Solution Explorer中,右击Chapter05解决方案,选择Add>Existing Project,如图Figure5-3所示。添加现有项目的对话框如图Figure5-4所示。在目录Chapter05\Or 阅读全文

posted @ 2011-08-02 08:54 Mayvar 阅读(469) 评论(0) 推荐(0) 编辑

WF 工作流(4)

摘要: 在第一章,我已经向你展示了在工作流中怎么使用variables(变量)和arguments(参数)。跟编码类似,variables类似于类成员,而arguments类似于方法的参数。你已经在前三章使用过variables了,在这一章,我将向你展示怎样使用input(输入)、output(输出)arguments(参数)和arguments(参数)是怎么在workflow和宿主程序之间传递。创建一个新的解决方案创建一个新的Workflow Console Application,如图Figure4-1。命名这个项目为OrderProcess,同时命名这个解决方案为Chapter04。在这个项目中 阅读全文

posted @ 2011-08-02 08:50 Mayvar 阅读(906) 评论(0) 推荐(0) 编辑

WF 工作流(3)

摘要: 在这一章,你将会使用流程图活动创建一个工作流。正如它的名字,一个流程图活动就如它是一个流程图,活动是用决策树来连接的。使用一个Sequence活动,它的子活动只可以从上到下的执行。而在一个流程图活动中,它的子活动可以用任意的顺序执行。创建一个流程图工作流创建一个项目,选择Workflow Console Application模板,如图Figure3-1所示。设计流程图拖拉一个Flowchart活动到设计器重。初始的图形类似于Figure3-2。绿色的圆圈代表这个流程图的开始节点,下面空的位置是用来添加活动用的。一个Flowchart(流程图)活动和一个Sequence活动的主要不同点是它的子 阅读全文

posted @ 2011-08-02 08:47 Mayvar 阅读(659) 评论(1) 推荐(0) 编辑

WF 工作流(2)

摘要: 在第一章中,使用了工作流设计器完成了一个简单的工作流,现在我们要使用代码区实现一个同样功能的工作流。任何工作流都可以使用代码或者设计器去实现,而使用哪种方式就是喜好问题了。但是,使用代码去实现工作流会让你更加了解工作流是怎么运作的。创建一个控制台应用程序创建一个控制台应用程序(不使用工作流模板),如图Figure2-1所示。添加引用System.Activities。这样可以让你能在项目中使用工作流活动。然后在Program.cs中添加命名空间应用:using System;using System.Activities;using System.Activities.Statements;u 阅读全文

posted @ 2011-08-02 08:45 Mayvar 阅读(671) 评论(0) 推荐(1) 编辑

WF 工作流(1)

摘要: 让我们以创建一个简单的工作流开始。开启Visual Studio (VS) 2010,选择New Project。在已经安装的模版下面,选择Visual C#-Workflow,你会看到提供了四个模版。 选择Workflow Console Application,如图1-1,输入名字Chapter01。为这个解决方案选择一个适合的路径。 图1-1:创建一个新的工作流项目一个简单的工作流 该这个模板生成的一个Program.cs文件,这个文件执行控制台应用程序。它还生成一个Workflow1.xaml文件,用它来定义工作流流程中的活动。如果你开发过 Windows Presentation . 阅读全文

posted @ 2011-08-02 08:41 Mayvar 阅读(1933) 评论(1) 推荐(1) 编辑

导航