ORACLE物件型別表
TYPE對於有OOP概念的人來說比較容易理解的。OBJECT就是ORACLE中的物件型別。
SQL> CREATE TYPE T_NAME AS OBJECT(
2 COL1 NUMBER,
3 COL2 VARCHAR2(60)
4 );
5 /
Type created
物件型別表有兩個使用方法:
1、只有一個物件型別欄位的表.
SQL> CREATE TABLE TEST1 OF T_NAME;
Table created
SQL> DESC TEST1;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
COL1 NUMBER Y
COL2 VARCHAR2(60) Y
SQL> INSERT INTO TEST1 VALUES(1,'1');
1 row inserted
SQL> SELECT * FROM TEST1;
COL1 COL2
---------- ------------------------------------------------------------
1 1
--USER_TABLES檢視查詢不到TEST1
SQL> SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME='TEST1';
TABLE_NAME
------------------------------
--USER_USER_TAB_COLUMNS檢視可以找到TEST1
SQL> SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TEST1';
COLUMN_NAME
------------------------------
COL1
COL2
--USER_OBJECTS檢視可以找到TEST1,型別為TABLE
SQL> SQL> SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OBJECT_NAME='TEST2';
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------- ------------------
TEST2 TABLE
;
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------- ------------------
TEST1 TABLE
2、除物件型別還有其他型別(varchar2等)欄位.
SQL> CREATE TABLE TEST2(ID NUMBER,OBJ T_NAME);
Table created
SQL> INSERT INTO TEST2 VALUES(1,T_NAME(1,'1'));
1 row inserted
SQL> INSERT INTO TEST2 VALUES(1,T_NAME(2,'2'));
1 row inserted
SQL> select t.id,t.obj.col1,t.obj.col2 from test2 t;
ID OBJ.COL1 OBJ.COL2
---------- ---------- ------------------------------------------------------------
1 1 1
1 2 2
SQL> SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME='TEST2';
TABLE_NAME
------------------------------
TEST2
SQL> SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TEST2';
COLUMN_NAME
------------------------------
ID
OBJ
如果理解物件導向的概念,物件型別表其實可以發揮CLASS的作用,如果存在多個結構相同的表,可以選擇這種處理。但是要注意和普通表的區別。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242448/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12.2使用物件資料型別來重定義表Oracle物件資料型別
- Oracle - LOB(大物件資料型別)Oracle物件資料型別
- [轉]在.Net中使用Oracle的表型別和物件型別Oracle型別物件
- oracle將表中date資料型別修改為timestamp資料型別Oracle資料型別
- C# 物件比較(值型別、引用型別)C#物件型別
- JS中資料型別、內建物件、包裝型別物件、typeof關係JS資料型別物件
- 時間物件、引用型別物件型別
- 【JavaScript】Function型別是物件JavaScriptFunction型別物件
- JavaScript的型別和物件JavaScript型別物件
- Oracle資料表物件Oracle物件
- 表連線型別型別
- ORACLE日期型別Oracle型別
- Oracle-不刪表資料,修改欄位型別Oracle型別
- JS物件導向Object型別JS物件Object型別
- 揭秘Python:物件型別列印Python物件型別
- typescript 介面和物件型別(四)TypeScript物件型別
- Oracle資料型別對應Java型別Oracle資料型別Java
- Oracle Long型別轉換為Clob型別Oracle型別
- 《JavaScript物件導向精要》之一:基本型別和引用型別JavaScript物件型別
- Oracle 11G DBMS_REDEFINITION修改表資料型別Oracle資料型別
- php型別比較表PHP型別
- 物件型介面 / 定製操作型別和欄位物件型別
- Oracle 基礎 ----臨時表和物件表Oracle物件
- Oracle 儲存型別Oracle型別
- Oracle資料型別Oracle資料型別
- Oracle 資料型別Oracle資料型別
- php中物件是引用型別嗎?PHP物件型別
- NumPy之:資料型別物件dtype資料型別物件
- JavaScript獲取物件資料型別JavaScript物件資料型別
- java中判斷Object物件型別JavaObject物件型別
- 【開發篇plsql】plsql物件型別SQL物件型別
- ORACLE DATE型別和TIMESTAMP型別DUMP換算Oracle型別
- 修改表的欄位型別型別
- 從原始資料型別到值物件資料型別物件
- Javascript中的事件物件和事件型別JavaScript事件物件型別
- 物件導向--內部屬性型別物件型別
- javascript Object型別物件簡單介紹JavaScriptObject型別物件
- JavaScript內建物件--Error型別詳解JavaScript物件Error型別