物件表
物件表是基於一個TYPE建立的表,而不是列的集合
如:會話1
物件表的建立
SQL> conn scott/scott
Connected.
SQL> create or replace type address_type-----先建立型別
2 as object
3 (city varchar2(30),
4 street varchar2(30),
5 state varchar2(2),
6 zip number
7 )
8 /
Type created.
SQL> create or replace type person_type
2 as object
3 (name varchar2(20),
4 dob date,
5 home_address address_type,
6 work_address address_type
7 )
8 /
Type created.
SQL> desc person_type
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(20)
DOB DATE
HOME_ADDRESS ADDRESS_TYPE
WORK_ADDRESS ADDRESS_TYPE
SQL> desc address_type;
Name Null? Type
----------------------------------------- -------- ----------------------------
CITY VARCHAR2(30)
STREET VARCHAR2(30)
STATE VARCHAR2(2)
ZIP NUMBER
SQL> create table people of person_type;---根據型別建立表
Table created.
SQL> desc person_type;
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(20)
DOB DATE
HOME_ADDRESS ADDRESS_TYPE
WORK_ADDRESS ADDRESS_TYPE
SQL> desc people
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(20)
DOB DATE
HOME_ADDRESS ADDRESS_TYPE
WORK_ADDRESS ADDRESS_TYPE
QL> insert into people ---向物件表中插入資料
2 values ( 'Tom', '15-mar-1965',
3 address_type( 'Reston', '123 Main Street', 'Va', '45678' ),
4 address_type( 'Redwood', '1 Oracle Way', 'Ca', '23456' ) );
1 row created.
SQL> select name,p.home_address.city from people p;--查詢物件表【列名.集合中屬性】
NAME HOME_ADDRESS.CITY
-------------------- ------------------------------
Tom Reston
我們DESC PEOPLE看到只有4個屬性,有兩個是集合型別,下面在系統資料字典中看下物件表的結構
SQL> select name, segcollength
2 from sys.col$
3 where obj# = ( select object_id
4 from user_objects
5 where object_name = 'PEOPLE' )
6 /
NAME SEGCOLLENGTH
------------------------------ ------------
SYS_NC_OID$ 16
SYS_NC_ROWINFO$ 1
NAME 20
DOB 7
HOME_ADDRESS 1
SYS_NC00006$ 30
SYS_NC00007$ 30
SYS_NC00008$ 2
SYS_NC00009$ 22
WORK_ADDRESS 1
SYS_NC00011$ 30
NAME SEGCOLLENGTH
------------------------------ ------------
SYS_NC00012$ 30
SYS_NC00013$ 2
SYS_NC00014$ 22
14 rows selected.
這裡看到物件表PEOPLE有14列!與前面的4列大不同。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15720542/viewspace-722213/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE物件型別表Oracle物件型別
- 分割槽表大物件物件
- Oracle資料表物件Oracle物件
- Oracle 基礎 ----臨時表和物件表Oracle物件
- JavaScript 表單、物件、函式JavaScript物件函式
- 6.5. 常用物件——6.5.1. 表物件
- js獲取表單元素所在的form表單物件JSORM物件
- 大物件(blob)表或分割槽表的exp和imp物件
- 只讀表空間物件被刪除後對應的物件資訊物件
- Oracle 11g系列:資料表物件Oracle物件
- 建立表物件時,oracle做了些什麼?物件Oracle
- 資料庫物件遷移表空間資料庫物件
- 獲取表單物件的三種方法物件
- 建立ASSM/MSSM管理表空間及建立表、分割槽表、大物件段等示例SSM物件
- Spring 表單提交,後臺自動封裝有集合物件的物件Spring封裝物件
- Server層表級別物件字典表 | 全方位認識 information_schemaServer物件ORM
- 【閱讀筆記:雜湊表】Javascript任何物件都是一個雜湊表(hash表)!筆記JavaScript物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理表物件
- IMPDP 多個表空間物件匯入到一個表空間中物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-刪除表物件
- EL 表示式對照 JSP 內建物件表JS物件
- Oracle 12cbigfile表空間物件遷移Oracle物件
- 將表單元素序列為物件程式碼例項物件
- 將form表單序列為物件例項程式碼ORM物件
- js解析php格式的表單到json物件PHPJSON物件
- 資料庫物件、表空間、表、檢視、索引、同義詞序列等的字典資料庫物件索引
- JavaWeb基礎-Request物件接收表單請求引數JavaWeb物件
- Oracle 表空間利用率及物件大小查詢Oracle物件
- 業務物件對映到表之間的關聯問題!!物件
- 和物件許可權相關的表table_privilege_map物件
- C# ORM從物件到資料庫表的對映C#ORM物件資料庫
- oracle中的資料庫、使用者、方案、表空間、表物件之間的關係Oracle資料庫物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-其它的建表考慮因素物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-預設值、加密、表約束物件加密
- oracle 10.2.0.5,如何快速把普通表變更為分割槽表,並且同步複製普通表上面依賴物件呢?Oracle物件
- 殺會話之查詢鎖表的物件及相關操作會話物件
- 修改表名索引約束觸發器等物件不會失效索引觸發器物件
- jQuery將表單序列化為物件的程式碼例項jQuery物件