oracle自定义类型使用方法
2012-02-18 12:39
369 查看
<1>CREATE TYPE T_DEPT AS OBJECT(DEPTNO NUMBER,DNAME VARCHAR2(20),LOC VARCHAR2(20));
<2>
-- Create table
create table EMP
(
empno NUMBER(4) not null,
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2),
dept T_DEPT
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table EMP
add constraint PK_EMP primary key (EMPNO)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
<3>
DECLARE
T SCOTT.DEPT%ROWTYPE;
BEGIN
FOR REC IN (SELECT EMPNO, DEPTNO FROM EMP) LOOP
SELECT * INTO T FROM SCOTT.DEPT WHERE DEPTNO = REC.DEPTNO;
UPDATE EMP A SET A.DEPT = T_DEPT(T.DEPTNO, T.DNAME, T.LOC);
END LOOP;
END;
SELECT * FROM EMP;
<4>
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPT.DEPTNO DEPT.DNAME DEPT.LOC
1 7369 SMITH CLERK 7902 12/17/1980 800.00 20 10 ACCOUNTING NEW YORK
2 7499 ALLEN SALESMAN 7698 2/20/1981 1600.00 300.00 30 10 ACCOUNTING NEW YORK
3 7521 WARD SALESMAN 7698 2/22/1981 1250.00 500.00 30 10 ACCOUNTING NEW YORK
4 7566 JONES MANAGER 7839 4/2/1981 2975.00 20 10 ACCOUNTING NEW YORK
5 7654 MARTIN SALESMAN 7698 9/28/1981 1250.00 1400.00 30 10 ACCOUNTING NEW YORK
6 7698 BLAKE MANAGER 7839 5/1/1981 2850.00 30 10 ACCOUNTING NEW YORK
7 7782 CLARK MANAGER 7839 6/9/1981 2450.00 10 10 ACCOUNTING NEW YORK
8 7788 SCOTT ANALYST 7566 4/19/1987 3000.00 20 10 ACCOUNTING NEW YORK
9 7839 KING PRESIDENT 11/17/1981 5000.00 10 10 ACCOUNTING NEW YORK
10 7844 TURNER SALESMAN 7698 9/8/1981 1500.00 1.00 30 10 ACCOUNTING NEW YORK
11 7876 ADAMS CLERK 7788 5/23/1987 1100.00 20 10 ACCOUNTING NEW YORK
12 7900 JAMES CLERK 7698 12/3/1981 950.00 30 10 ACCOUNTING NEW YORK
13 7902 FORD ANALYST 7566 12/3/1981 3000.00 20 10 ACCOUNTING NEW YORK
14 7934 MILLER CLERK 7782 1/23/1982 1300.00 10 10 ACCOUNTING NEW YORK
<2>
-- Create table
create table EMP
(
empno NUMBER(4) not null,
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2),
dept T_DEPT
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table EMP
add constraint PK_EMP primary key (EMPNO)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
<3>
DECLARE
T SCOTT.DEPT%ROWTYPE;
BEGIN
FOR REC IN (SELECT EMPNO, DEPTNO FROM EMP) LOOP
SELECT * INTO T FROM SCOTT.DEPT WHERE DEPTNO = REC.DEPTNO;
UPDATE EMP A SET A.DEPT = T_DEPT(T.DEPTNO, T.DNAME, T.LOC);
END LOOP;
END;
SELECT * FROM EMP;
<4>
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPT.DEPTNO DEPT.DNAME DEPT.LOC
1 7369 SMITH CLERK 7902 12/17/1980 800.00 20 10 ACCOUNTING NEW YORK
2 7499 ALLEN SALESMAN 7698 2/20/1981 1600.00 300.00 30 10 ACCOUNTING NEW YORK
3 7521 WARD SALESMAN 7698 2/22/1981 1250.00 500.00 30 10 ACCOUNTING NEW YORK
4 7566 JONES MANAGER 7839 4/2/1981 2975.00 20 10 ACCOUNTING NEW YORK
5 7654 MARTIN SALESMAN 7698 9/28/1981 1250.00 1400.00 30 10 ACCOUNTING NEW YORK
6 7698 BLAKE MANAGER 7839 5/1/1981 2850.00 30 10 ACCOUNTING NEW YORK
7 7782 CLARK MANAGER 7839 6/9/1981 2450.00 10 10 ACCOUNTING NEW YORK
8 7788 SCOTT ANALYST 7566 4/19/1987 3000.00 20 10 ACCOUNTING NEW YORK
9 7839 KING PRESIDENT 11/17/1981 5000.00 10 10 ACCOUNTING NEW YORK
10 7844 TURNER SALESMAN 7698 9/8/1981 1500.00 1.00 30 10 ACCOUNTING NEW YORK
11 7876 ADAMS CLERK 7788 5/23/1987 1100.00 20 10 ACCOUNTING NEW YORK
12 7900 JAMES CLERK 7698 12/3/1981 950.00 30 10 ACCOUNTING NEW YORK
13 7902 FORD ANALYST 7566 12/3/1981 3000.00 20 10 ACCOUNTING NEW YORK
14 7934 MILLER CLERK 7782 1/23/1982 1300.00 10 10 ACCOUNTING NEW YORK
相关文章推荐
- oracle自定义类型使用方法
- oracle自定义类型使用方法
- 一个使用c++在lua中创建自定义数据类型的简易方法
- 使用MFC的CArray自定义数据类型,编译报错的解决方法
- oracle pl/sql中使用自定义数据类型
- Oracle自定义类型使用
- 怎么使用LINQ方法来比较自定义类型对象
- 使用JDBC4.0操作Oracle中BLOB类型的数据方法
- 一个使用c++在lua中创建自定义数据类型的简易方法
- 复习扩展方法 涉及委托,这里我使用自定义委托类型 public delegate bb MyFunc<in T,out bb> (T arg)
- [翻译]如何使用LINQ方法来比较自定义类型的对象
- oracle使用还原段的目的和还原数据的管理方法及还原段的类型
- Oracle自定义类型使用一例 转
- Oracle自定义数据类型 2 (调用对象方法)
- 怎么使用LINQ方法来比较自定义类型对象
- Oracle 方法返回自定义表类型的例子
- Oracle不支持在select语句中调用自定义函数时使用自定义类型作参数?
- oracle自定义类型的使用
- ECMAScript中使用最广泛,认同度最高的一种创建自定义类型的方法
- 使用JPublisher生成Oracle自定义类型的Java对象