news 2026/5/11 10:08:41

63、SQL与对象:现状与未来探索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
63、SQL与对象:现状与未来探索

SQL与对象:现状与未来探索

集合类型处理

在数据库操作中,集合类型的处理是一个重要方面。对于集合中单个成员值的更改,可使用特定语句。FOREACH 循环会将集合中的每个项提取到一个变量中,以便 SPL 例程进行处理,最后用集合变量的内容更新表中的集合列。

以 Oracle 处理可变数组为例,抽象数据类型中数组的各个元素可通过结构化数据类型中的下标引用获取。访问可变数组元素的典型 Oracle PL/SQL 过程如下:
1. 从包含可变数组的表中检索行到一个局部变量,该变量的数据类型需与表的行结构或要检索的特定列相匹配。
2. 执行一个 FOR 循环,使用索引变量 n 从 1 计数到可变数组中的元素数量,元素数量可通过数组列的特殊属性 COUNT 的值获取。
3. 在 FOR 循环内,使用可变数组名称的下标来访问可变数组的第 n 个元素。

对于嵌套表的处理,通常使用 TABLE 函数在 SQL 查询中扁平化表,然后用单个游标驱动的 FOR 循环处理结果。不过,处理过程可能较为复杂,存储过程可能需要检测查询结果中的特定行是否与前一行来自同一个主表行,并在检测到主表行变化时执行特殊处理,如计算小计。这与 30 多年前处理主记录和详细记录的 COBOL 报表编写程序的嵌套循环处理类似。

从这些处理方式可以看出,集合类型和单个集合项的处理更倾向于通过存储过程进行编程访问,而非临时 SQL 使用。这也反映出面向对象数据库受到的一种批评,即它们从关系模型的简单性上有所倒退,重新引入了关系前数据库中显式数据库导航的需求。

用户定义数据类型

对象关系数据管理系统通常允许用户通过自定义数据类型来扩展 DB

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 6:48:11

Unite.vim终极指南:Vim统一界面管理神器快速入门

Unite.vim终极指南:Vim统一界面管理神器快速入门 【免费下载链接】unite.vim :dragon: Unite and create user interfaces 项目地址: https://gitcode.com/gh_mirrors/un/unite.vim Unite.vim是Vim编辑器中革命性的统一界面管理插件,它通过标准化…

作者头像 李华
网站建设 2026/5/10 3:30:25

终极指南:彻底解决Lsyncd排除路径配置难题

终极指南:彻底解决Lsyncd排除路径配置难题 【免费下载链接】lsyncd Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets 项目地址: https://gitcode.com/gh_mirrors/ls/lsyncd Lsyncd(Live Syncing Daemon&#x…

作者头像 李华
网站建设 2026/5/10 3:30:23

记力扣LCP28.采购方案 练习理解

小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。注意:答案需要以 1e9 7 (1000000007) 为底取模,如:计算初始结果…

作者头像 李华
网站建设 2026/5/9 17:44:09

Transformer架构终极指南:从数学直觉到工程实践

Transformer架构终极指南:从数学直觉到工程实践 【免费下载链接】pumpkin-book 一个关于机器学习实战的中文项目,适合对机器学习实战和应用感兴趣的人士学习和实践,内容包括数据预处理、特征工程、模型调优等多个方面。特点是结合实际需求&am…

作者头像 李华
网站建设 2026/5/10 12:58:59

智能机器人的关键技能!

智能机器人的“关键技能”是一个由硬件和软件深度融合构成的复杂系统。我们可以将这些技能分为几个核心层次,从感知世界到最终的执行行动。以下是智能机器人的关键技能体系,从基础到高级排列:一、 感知技能 - “认识世界”这是机器人获取和理…

作者头像 李华