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.可变数组(了解)
就是升级版的嵌套表。可变数组实际上就是将内部的嵌套表的内容的长度进行了限制。
例如:一个部门有多个工人,如果按照可变数组的做饭,首先要定义一个工人的类型。
下面再定义数组类型
定义部门表:一个部门中可能存在多个工人
插入测试数据:
oracle 如何数组变成表,Oracle从零开始19——表的管理09——嵌套表和可变数组相关推荐
- 19.Oracle10g服务器管理恢复--RMAN表空间恢复(练习33)
在练习12-14中我们学习了如何将数据库中删除的表恢复到错误发生之前,而不需要恢复整个数据库.Oracle可以恢复数据库的一个表空间,此时还原表空间数据文件,然后应用归档日志文件直到失效前或错误发生处 ...
- oracle有索引的集合,oracle中记录和集合
* oracle复合数据类型 PL/SQL有两种复合数据结构:记录和集合.记录由不同的域组成,集合由不同的元素组成. */ /* 一.记录类型 类似C语言中的结构,有两种定义方式:显式定义和隐式定义. ...
- oracle數據庫any,Oracle权限集合全集
alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...
- ios 替换数组中元素_ios可变数组的所有操作
#pragma mark 创建数组c NSMutableArray * array =[[NSMutableArray alloc] initWithObjects:@"a",@& ...
- ios可变数组的操作
#pragma mark 创建数组c NSMutableArray * array =[[NSMutableArray alloc] initWithObjects:@"a",@& ...
- 【Oracle】record varray (associative array 关联数组) table (nested table type 嵌套表类型)和%type、%rowtype的使用详解
官方文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/lnpls/plsql-data-types.html#GU ...
- oracle 语法分析表,Oracle 语句优化分析说明
Oracle 语句优化分析说明 更新时间:2009年09月17日 21:52:20 作者: Oracle 语句优化技巧,大家可以参考使用,使你的oracle运行效率更高更好. 1. ORACLE ...
- 创建emp表 oracle,Oracle中创建和管理表详解
Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16 作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...
- oracle遍历表做查询,oracle 语句之对数据库的表名就行模糊查询,对查询结果进行遍历,依次获取每个表名结果中的每个字段(存储过程)...
语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 . 代码如下: declare s_sql clob:=''; -- 声明一个变量,该变量用于 ...
最新文章
- 分析6千万条GitHub帖子,发现你的工作状态与表情符号强相关
- 一文打尽目标检测NMS | 精度提升篇
- node-rsa加密,java解密调试
- php网站发布工具_7款本地搭建PHP环境工具推荐
- c++ 检查缓冲大小与记录大小是否匹配_后端程序员不得不会的 Nginx 转发匹配规则...
- linux下面的j2sdk的安装和配置过程
- linux mint关于web开发的相关环境配置
- javascript cookie传统用法
- Linux下进行源码安装时如何避免找不到那些使用--prefix指定目录安装的依赖
- 局域网计算机共享加密码,局域网文件共享设置密码的方法
- 乐玩模块脚本实战教程辅助脚本制作开发视频
- 计算机基础知识和运用2作图,2020年9月统考《计算机应用基础》基础知识试题及答案2...
- 5, Swift tableView点击收起展开的效果
- 淘宝6.18叠猫猫赚猫币自动生成
- H3C s5820v2 堆叠2台机器配置说明
- html自动增加文本框,html创建文本框
- 取消微信抢票的服务器,微信抢票怎么取消?
- Single Image Dehazing via Multi-Scale Convolutional Neural Networks
- java1.8 Lambda拉姆达表达式深入探究
- ps4 虚拟服务器 设置,谁说PS VR只能适配PS4主机? 大神来教你完美认证PC