oracle 如何数组变成表,Oracle从零开始19——表的管理09——嵌套表和可变数组
11.嵌套表(了解)
注意:基本不用。
例如:一個部門可能承接多個項目,那么按原始方法設計,應該這樣定義兩張表:
CREATE TABLE department
(
deptno????????NUMBER(2)????PRIMARY KEY,
dname????????VARCHAR2(50)????NOT NULL,
);
CREATE TABLE project
(
proid????????NUMBER(4)????PRIMARY KEY,
porname????????VARCHAR2(50)????NOT NULL,
pordate????????DATE????????NOT NULL,
deptno????????NUMBER(2),
CONSTRAINT department_project_deptno FOREIGN KEY(deptno) ON DELETE CASCADE
);
這是最通用的、最正確的操作,但是Oracle中引入了嵌套表的概念,可以直接將項目表的類型作為一個部門表的字段類型,達到嵌套的功能。
但完成嵌套表的制作要首先指定嵌套表的類型。因為數據庫在創建數據表的時候都要制定字段的類型。
類型創建成功之后,并不意味著可以直接使用,因為此類型是一個完整的類型,所以要為它指定一個名稱。下面的語句是給project_ty類型指定了名稱:project_nt
以上的操作表示以后直接使用project_nt表示project_ty類型,就類似于varchar2表示字符串是一樣的。下面可以使用此類型創建部門表。
插入數據時需要指定每一個project_ty類型
此時查詢嵌套表,可以返回多個項目
如果要查一個部門的全部項目,就要查嵌套表
范例:更新項目編號為1001的項目名稱,將此項目名稱更新為"測試項目"
12.可變數組(了解)
就是升級版的嵌套表??勺償到M實際上就是將內部的嵌套表的內容的長度進行了限制。
例如:一個部門有多個工人,如果按照可變數組的做飯,首先要定義一個工人的類型。
下面再定義數組類型
定義部門表:一個部門中可能存在多個工人
插入測試數據:
總結
以上是生活随笔為你收集整理的oracle 如何数组变成表,Oracle从零开始19——表的管理09——嵌套表和可变数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php测试宽带速度慢,宽带速度慢怎么办?
- 下一篇: oracle触发器监听数据变化,【Tri