- 浏览: 14179 次
- 性别:
- 来自: 北京
最新评论
文章列表
存储过程(stored procedure),其实就是一个带有名字的PL/SQL程序块。
先举一个简单的存储过程小例子:
create or replace procedure p
is
cursor c is
select * from emp for update
begin
for v_emp in c loop
if(v_emp.deptno = 10)then
update emp set sal = sal + 10 where current of c;
...
游标(cursor)简单来说,就是指向结果集的指针。
在PL/SQL中,一条select语句只能返回一条记录,但是通过cursor就能完成取出多条记录的任务了。
先看一个简单的小例子:
declare
cursor c is
select * from emp;
...
文档类型定义(DTD):是一种将约束置于XML文档上的方法。 一个DTD例子
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE games[
<!ELEMENT games (game*)>
<!ELEMENT game (#PCDATE)>
]>
<games>
<game> i am lulu </game>
</games>
1.这个DTD有两个元素类型声明,由<!ELEME ...
PL/SQL的select语句
PL/SQL中使用select语句,必须返回有且只有一条记录;
into关键字:ename的值放进v_ename中,sal的值放入v_sal中;
如果不能保证查询后有记录,则会报错;
如果查询出多条记录,也会报错.
小例子
declare
v_emp emp%rowtype;
begin
select * into v_emp from emp where empno = 7369;
dbms_output.put_line(v_emp.ename);
end;
显示:Smith
这里采用“reco ...
--Table变量类型,类似于JAVA数组
小例子1
1.声明一个table数组“类型”:
a.type表示我重新定义了一种类型,其后跟着类型名,其名一般约定俗成为“type_table_表名_字段名”;
b.将数组下标index定义成binary_integer类型。
2.再用这个新类型声明一个变量:
v_xxx type_table_表名_字段名;
3.oracle中的table的下标可以是负值
--Record变量类型,类似于JAVA类
小例子2
1.声明一个record数组“类型”:
type表示我重新定义了一种类型,其后跟着类型名,其名 ...
PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。
PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过 ...
Rational Rose创建UML类图之关系
- 博客分类:
- UML
1.依赖关系——一个事物的变化影响另外一个事物
需要从代码看起
例如UserAction依赖于UserManager(如下图),即在一段JAVA代码中,如果一个对象里面用到了其他对象就产生了一种依赖。在Rational Rose,用虚线箭头表示依赖关系。如果类之间具有依赖关系,则在其上层之间的包也产生了依赖关系。但是,此段代码包括多种依赖关系,需要把所有的依赖关系全部画出来么?那要看你在这里究竟想要表达什么,不一定要画出所有的依赖关系。
常见的依赖关系
首先看类图的基本表示方法
类的基本表示
接口的基本表示
包的基本表示
当然其中的属性,访问控制,显示版型等都可以进行修改。
UML —— 通过图形完成文档,是一个庞大的图形化表示体系。
UML的三种应用方式:
1.草图
2.蓝图
3.编程语言
学习UML的要素
1.表示法
2.过程
3.工具
UML学习要素之——软件工程
UP(the Unified Software Development Process)——是一种流行的构造面向对象系统的迭代软件开发过程。(用例驱动开发,即基于软件的使用目标)
RUP —— Rational统一过程,对UP的详细精化。
迭代和增量式开发
构件:表示软件模块,如DLL文件,java文件,jar包等
节点:表示部署当中的,如数据库节点,服务器节点等
不同的图可以 ...
UML不是OOA/OOD,也不是方法,而是一种图形表示法,是一种面向对象的思考工具。
分析——对问题和需求的调查研究
设计——满足需求的概念上的解决方案
面向对象分析(OOA)——在问题域内,发现和描述对象
面向对象设计(OO ...
此模式是在生产者与消费者之间加入一个“桥梁参与者”来缓冲线程之间的处理速度差。一般可以存在多个生产者与消费者,但当双方都只有一个的时候,又称为Pipe Pattern。
例子:假设有2个生产者,2个消费者,仓库里只能放4个产品。(这里的产品就是String类型的名字而已)
//Storage.java
public class Storage {
private String[] buffer;
private int head;//取走一个商品的位置
private int tail;//存入一个商品的位置
private int count;//buffer内的商品数 ...
Balking Pattern 与 Guarded Suspension Pattern 都需要警戒条件,只不过Balking Pattern中,当警戒条件不成立时,不进行wait,直接中断。
Balking Pattern的适用性:
1.不需要刻意执行的时候,balk可以提高性能
2.不想等待警戒条件成立的时候
3.警戒条件只需第一次成立的时候,例如初始化操作
例子:仅类似“自动保存功能”,通过此模式,防止重复保存。
所需的类:
Date:数据类;
AutosaverThread:定期自动保存数据的线程类;
ChngsaverThread:自己修改并保存的线程类;
Main:测试类
...