数据库管理-第六十七期 SQL Domain 2(20230414)

news2024/11/25 0:40:33

数据库管理 2023-04-14

  • 第六十七期 SQL Domain 2
    • 1 Domain函数
    • 示例
    • 总结

第六十七期 SQL Domain 2

昨晚割接,搭了一套19c的ADG,今天睡了个懒觉,早上把笔记本内存扩到了64GB,主要是为了后面做实验。然后下午拼了个乐高,根据公司要求报了个1Z0-902,也算是给我的那么多台Exadata维护搞个持证上岗。
到了晚上确实没忍住,总觉得昨天文章对SQL Domain没有很全面,今天继续探索。

1 Domain函数

【https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/domain-functions.html】

SQL Domain配套新增了一系列函数进行配合使用,昨天最后一个示例也展示了domain_display可以配合Domain限制实现脱敏。

  • domain_display::=
    在这里插入图片描述
  • domain_name::=
    在这里插入图片描述
  • domain_order::=
    在这里插入图片描述
  • domain_check::=
    在这里插入图片描述
  • domain_cast::=
    在这里插入图片描述

其中domain_display、domain_name和domain_order可以跟不止一个参数。

domain_display返回与参数关联的domian的domain display表达式。给定U.D,一个限定domain名称,其中U代schema或用户名,D代表domain名,domian U.D(a1,…,an)与由第i个参数取代的U.D第i列相关联。如果(a1,…,an)与domain不关联,或者如果U.D没有显示表达式,则返回NULL。(不得不说这段话没大看懂,从昨天示例来看就是按照限制对原始内容进行处理后显示出来)

domain_name返回与参数关联的domain的指定domain名称(如果有),否则返回NULL。

domain_order返回与参数关联的domian的顺序表达式。DOMAIN_ORDER(a1,…,an)返回域U.D(a1,…,an)关联的domain顺序表达式,其中U.D第i列被第i个参数替换。如果(a1,…,an)与domain不关联,或者如果U.D没有顺序表达式,则返回NULL。如果当前用户对参数所关联的domain没有EXECUTE权限,则还会返回NULL。(还是云里雾里的,下面看看能不能做实验)

DOMAIN_CHECK要求第一个参数是一个常量字符串,作为domain的名称(可能是指定schema)。如果名称不符合条件,则当前用户应为domian的所有者。DOMAIN_CHECK(‘U.D’,a1,…,an)返回一个错误,如果​第一个参数不是计算结果为domain名称的常量字符串,或者如果第一个参数计算结果为“U.D”并且当前用户在U.D上具有EXECUTE权限,但以下其中一项不成立,则用户对domain没有EXECUTE权限:(a)U.D没有n列,或(b)第i个参数数据类型与第i个域列不兼容,其中,“兼容”是指它是相同的数据类型,除了小数位数、精度、长度可以更大之外,或者(c)第i个域列具有与第i个参数排序规则不同的排序规则属性,或者(d)当约束条件中的第i个畴列被第i个自变量替换时,任何U.D的启用约束都不满足。(同上,不重复了|| _ ||)

domain_cast算了,我更看不懂,直接po原文(和机翻)了,感觉实验也不大好做的样子:
CAST(expr AS DOMAIN [U.]D) raises an error if [U].D is not a domain or if the user has no EXECUTE privilege on U.D or if U.D is a multi-column domain. It also raises an error if expr cannot be casted to the domain’s column data type, or if any of the domain’s enabled constraints is not satisfied when the domain column is substituted by expr. The result expression is cast to the domain column’s data type. Not yet in the label but soon to be merged, there is support for CAST(expr AS [U.]D) (where the keyword DOMAIN is not specified). It will behave as CAST (expr AS DOMAIN [U.]D) if [U.]D is a domain, or else it will expect [U.]D to be an ADT.
如果[U].D不是域,或者用户对U.D没有EXECUTE权限,或者U.D是多列域,CAST(expr AS DOMAIN[U.]D)会引发错误。如果无法将expr强制转换为域的列数据类型,或者当域列被expr替换时,不满足域的任何启用约束,也会引发错误。结果表达式被强制转换为域列的数据类型。尚未在标签中,但即将合并,支持CAST(expr AS[U.]D)(其中未指定关键字DOMAIN)。如果[U.]D是一个域,它将表现为CAST(expr as DOMAIN[U.]D),否则它将期望[U.]D.是一个ADT。(by 度娘)

示例

domain_display就不做实验了,详见上一期。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
domian没生效?!
在这里插入图片描述
有点意思。
在这里插入图片描述
在这里插入图片描述
domain_check这个函数看起来主要是针对内容进行判断,是否满足domian中的check条件。
在这里插入图片描述
还是绕不过display。
在这里插入图片描述
domain_order则显示domain中指定的周日期和数字之间的对应,然而,1和4都else成了7,其实不大满足条件。rollback并drop table tm3 purge,看看怎么能实现需求。
在这里插入图片描述
给表加一个check约束是可以实现滴,虽然一开始想用boolean和domain_check连用来实现,但是一直在失败。
在这里插入图片描述
似乎是domain_order和domain_check脱离了表不能直接使用。

总结

第一次一周写三篇,其实还有一些关于SQL Domain的没涉及,看看下期是不是换个内容。
老规矩,知道写了些啥(有点晕就是了)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Excel小技巧:对比两列数据的异同、vlookup使用方法

目录 问题一: 在联盟对接的时候,团购站会推送一个返利值,称为“推送返利”,联盟后台又会计算一个返利值,称为“计算返利”。当团购站的推送返利与计算返利相同的时候,我们才认为这个团购站在返利上对接完…

JMeter全局变量在使用时第一次取到null的问题解决

1. 在执行JMeter测试时,登录操作只需要执行一次。这样就需要用到全局变量,但在前一个提取器执行了请求后,如果返回结果是json格式的数据,会在下面添加一个JSON提取器,并在json提取器下会添加一个后置BeanShell PostPro…

10个镜像网站工具箱供你使用,不注册ChatGPT也能免费使用ChatGPT

ChatGPT已经成为了人工智能技术中备受瞩目的一员,它可以为我们带来更加智能化、个性化的交互体验。对于没有ChatGPT账号或者不想注册账号的人来说,他们可能会错过这种神奇的体验。 而本篇文章就帮大家解决这个问题,不用登录ChatGPT账号&…

Spark 写 MySQL经典50题

目录 建表 & 添加数据 表结构分析图 连接数据库 题目 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数 2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数 3、查询平均成绩大于等于60分的同学的学生编号和学…

如何将GIS地图和可视化结合使用实现更好的数据呈现

GIS(地理信息系统)和可视化(visualization)是两个紧密相关的领域。GIS是一种用于管理、分析和展示地理空间数据的技术,而可视化则是一种用图形、图表、动画等形式展示数据的方式。GIS地图则是指基于地理信息系统技术&a…

【举一反三】只出现一次的数字

本文,讲位运算——异或运算。因为题干中说明要线性时间复杂度,所以采用位运算进行操作,而没有采用哈希表。 目录 1.只出现一次的数字 I 2.只出现一次的数字 II 3.只出现一次的数字 III 1.只出现一次的数字 I 136. 只出现一次的数字 - 力扣&…

浅析Dubbo核心设计

大家好,我是易安! 当今互联网时代,随着企业业务的不断扩展和用户量的增加,分布式系统已成为大型企业必不可少的组成部分。而Dubbo框架作为阿里巴巴开源的高性能Java RPC框架,一直以来都备受关注和使用。其核心设计思想…

机器学习正以惊人的速度破解宇宙奥秘

宇航员、科学家和其他以探索并记录终极边界为己任的人们,才积极转向机器学习(ML)以协助应对自己面临的非凡挑战。从引导火箭穿越太空到研究遥远行星的表面,再到测量宇宙大小和计算天体的运动轨迹,AI在太空中拥有着众多…

300左右蓝牙耳机推荐,口碑好的平价蓝牙耳机选购指南

300元预算,想入手一款最值得蓝牙耳机,咋选?作为一个有4年玩机经验的爱好者,蓝牙耳机推荐性价比高的产品,今天就总结了几款目前很受欢迎,同时性能各方面都不错的机型,选对这几款,不用…

WIN10、WIN11 新电脑配置

WIN10、WIN11 新电脑配置WIN10、WIN11 新电脑配置开启管理员模式启用power shell脚本WIN10、WIN11 新电脑配置 开启管理员模式 WIN11 下没有安装本地安全策略组件,表现为CMD运行 secpol.msc 命令会提示异常 开启本地安全策略 echo off pushd "%~dp0"…

电脑上怎么把PDF转换成PPT?几步教你轻松转换

PDF文件是一种常见的办公文档格式,它具有固定格式和内容不易改变的特点,广泛应用于各种正式场合。虽然各种办公软件都能够将文件转换为PDF格式,但如果需要将PDF文件转换为其他格式,就需要使用专门的工具了。今天我们将介绍两款常用…

论文解读 | 解耦知识蒸馏

10 年来,DNN 的变革给计算机视觉领域带来了重大发展,促成了各种实时任务的繁荣,如图像分类、目标检测、语义分割等。然而强大的网络通常得益于大的网络容量,这通常以大量的计算和存储为代价,是工业应用所不喜欢的。在工…

一觉醒后ChatGPT 被淘汰了

OpenAI 的 Andrej Karpathy 都大力宣传,认为 AutoGPT 是 prompt 工程的下一个前沿。 近日,AI 界貌似出现了一种新的趋势:自主人工智能。 这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归…

X进制转十进制黄金万能算法

单纯、混合进制通吃,真正的黄金万能的进制转换方法。 【学习的细节是欢悦的历程】Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址:https://…

LINUX_kali学习笔记

基础命令 命令说明示例pwd查看当前路径ls查看当前文件夹下文件 .开头为隐藏文件 (文件夹下使用ctrlh查看)ls -a(查看文件及隐藏文件)ls -alh(查看文件及显示详情)cd切换目录cd /(切换到根目录&…

为何MySQL 8.0开始取消了查询缓存

官方文档说明:MySQL :: MySQL 8.0: Retiring Support for the Query Cache MySQL查询缓存是查询结果缓存。它将以SEL开头的查询与哈希表进行比较,如果匹配,则返回上一次查询的结果。 进行匹配时,查询必须逐字节匹配,例…

[Netty源码] 服务端启动过程 (二)

文章目录1.ServerBootstrap2.服务端启动过程3.具体步骤分析3.1 创建服务端Channel3.2 初始化服务端Channel3.3 注册selector3.4 端口绑定3.5 服务端的读事件1.ServerBootstrap ServerBootstrap引导服务端启动流程: //主EventLoopGroup NioEventLoopGroup master new NioEvent…

深入浅出:理解 RPC 和 Dubbo 架构

简介 Apache Dubbo是一款高性能的Java RPC框架.其前身是阿里巴巴公司开源的一个高性能,轻量级的开源Java RPC框架,可以和Spring框架无缝集成. Dubbo 官网 RPC RPC介绍 Remote Procedure Call 远程过程调用,是分布式架构的核心,按响应方式分以下两种: 同步调用:客户端调用…

App/Web自动化的面试题

App/Web自动化的面试题(详细答案自己百度哈,红色的表示app自动化专有问题、绿色表示web自动化专有的问题,未标色的表示共有的问题) 备注:一般面试的时候是结合简历上的项目一步一步深入进行问的问题,只要你实际做过一个…

HPE: smart storage: hpssacli:

文章目录参考命令实例问题参考 https://cmdref.net/hardware/proliant/hpssacli.html https://support.hpe.com/connect/s/softwaredetails?languageen_US&softwareIdMTX_9849e3ae326f43f2825d92dce0 https://community.hpe.com/hpeb/attachments/hpeb/itrc-264/148204/3…