如何拥有可能包含空值的主键组合?

2024-04-05

我有两个表 A 和 B,定义如下。

create table A
(
  A_1 varchar2(10) NOT NULL,
  A_2 varchar2(10),
  A_3 varchar2(10),
  constraint A_PK primary key (A_1,A_2)
)
TABLE A DATA
A_1      |A_2   |A_3
1111     abc     some_text1
1111     null    some_text1
1112     abc     some_text2
1113     def     some_text3

   create table B
   (
     B_1 varchar2(10) NOT NULL,
     B_2 varchar2(10),
     B_3 varchar2(10),
     constraint B_PK primary key (B_1,B_2,B_3),
     constraint B_FK foreign key (B_1,B2) references A(A_1,A_2)
   )
TABLE B DATA
B_1    | B_2    |B_3
1111    abc      text1
1111    null     text2
1111    null     text3
1111    null     text4 

表 A 中的 A_2 列有时可能为空,但 A_1 和 A_2 的组合始终是唯一的。我需要 A_2 成为主键的一部分,因为只有我可以将 A_1 和 A_2 引用为表 B 中的外键。这里的问题是主键不能为空。如何解决这个问题呢? 任何回应都将受到高度赞赏


您可以通过不将其作为主键来解决此问题。主键不能是NULL或者,如果它们是复合主键,则不能包含NULL。改为将其设为唯一索引。为主键创建自动编号字段。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何拥有可能包含空值的主键组合? 的相关文章

  • 相当于 Oracle 的 SQL*Plus 中 MySQL 的 \G

    在 Oracle 的 SQL Plus 中 SELECT 的结果以表格方式显示 有没有办法以键值方式显示一行 例如MySQL的 G option http slaptijack com software enabling vertical
  • 在 Oracle BI Publisher 中将数字转换为单词

    我有一个要求 我需要将发票总金额显示为 rtf 中的文字 我尝试过 but it doesn t show any thing Is there any RTF Tag to do such a requirement on layout
  • 如何获取Oracle中命名事务的名称?

    我想在触发器中使用事务的名称 以便将其写入列中 我尝试了这个 在 SQL Developer 中 set transaction name hello select DBMS TRANSACTION LOCAL TRANSACTION ID
  • Oracle group by 中的字符串聚合

    我已经形成了一个大型查询 它使用以下数据条件获取大型数据集 Column1 Column2 M1 OTH M1 HHM M1 RES M2 HHM M2 RES M3 OTH M3 RES 我需要将其形成为 M1 OTH HHM RES M
  • 如何对Oracle进行SQL注入

    我正在对一个系统进行审计 开发人员坚称该系统可以防止 SQL 注入 他们通过去掉登录表单中的单引号来实现这一点 但后面的代码没有参数化 它仍然使用字面 SQL 如下所示 username username Replace var sql s
  • 如何使用to_sql将pandas数据帧写入oracle数据库?

    我是一个新的oracle学习者 我正在尝试将 pandas 数据帧写入 oracle 表中 经过网上研究 我发现代码本身很简单 但我不知道为什么我的代码不起作用 我已经从本地文件中读取了 pandas 数据框 import cx Oracl
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 如何终止正在运行的 SELECT 语句

    如何通过终止会话来停止正在运行的 SELECT 语句 该命令不断根据 SELECT 语句向我提供输出 我想在其间停止它 As you keep getting pages of results I m assuming you starte
  • 从 Oracle Varchar2 中查找并删除非 ASCII 字符

    我们目前正在将一个 Oracle 数据库迁移到 UTF8 并且发现一些记录接近 4000 字节 varchar 限制 当我们尝试迁移这些记录时 它们会失败 因为它们包含的字符变成了多字节 UF8 字符 我想要在 PL SQL 中做的是找到这
  • 仅使用 SQL 中的 MAX 函数更新重复行

    我有一张这样的桌子 假设为了举例 NAME是一个唯一的标识符 NAME AGE VALUE Jack Under 65 3 Jack 66 74 5 John 66 74 7 John Over 75 9 Gill 25 35 11 Som
  • 在 Oracle 中创建数据库链接时出错

    我有两个数据库 需要编写跨数据库查询 所以我试图创建一个数据库链接 CREATE PUBLIC DATABASE LINK DBLink CONNECT TO SchemaName IDENTIFIED BY 123 using DBNam
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • Python 上每个系数具有特定约束的多元线性回归

    我目前正在数据集上运行多元线性回归 起初 我没有意识到我需要限制自己的体重 事实上 我需要有特定的正权重和负权重 更准确地说 我正在做一个评分系统 这就是为什么我的一些变量应该对音符产生积极或消极的影响 然而 当运行我的模型时 结果不符合我
  • 如何比较表中最后一个和倒数第二个条目的值?

    我在 Oracle 中有一个名为quotes 的表 其中包含两列 date 和value 我想比较表中最后一个条目和倒数第二个条目的值 在此示例中 我想获取日期13 1 和 11 1在一行中以及每个日期的值之间的差异 10 5 5 报价表
  • 如何删除非空约束?

    假设创建了一个表 如下所示 create table testTable colA int not null 您将如何删除非空约束 我正在寻找类似的东西 ALTER TABLE testTable ALTER COLUMN colA DRO
  • 如何使用低权限的 PL-SQL 获取 Oracle 中的列数据类型?

    我对 Oracle 数据库中的一些表具有 只读 访问权限 我需要获取某些列的架构信息 我想使用类似于 MS SQL 的东西sp help 我看到此查询中列出了我感兴趣的表 SELECT FROM ALL TABLES 当我运行这个查询时 O
  • sqlldr.exe 不适用于 Windows 10

    我最近通过自定义安装安装了 Oracle 数据库客户端 12 1 0 2 0 winx64 并仅选择包括 SQL Loader 等在内的数据库实用程序 但是当我尝试执行 sqlldr exe 时 出现以下错误 在网上搜索后 我从所有站点 即
  • ORACLE:未找到数据——但数据存在

    调试包过程 当实际上有数据时却找不到数据 仅测试 SELECT SELECT trim trailing from GL SECURITY as DUMMY FROM b2k user b2k WHERE sms username FUCH
  • PLS-00103:遇到符号“;”当预期出现以下情况之一时:

    我正在尝试插入用户安全问题的答案 以用于密码重置功能 Ellucian 横幅 v8 提供了一个用于运行此 API 的 API 我对他们的 API 非常陌生 从下面的错误消息来看 我还远远没有正确运行它 任何帮助表示赞赏 我尝试在 Oracl
  • Oracle 删除约束级联等效于 Sql Server

    在Oracle中 删除约束PK SAI我使用语法 ALTER TABLE SAISIE DROP CONSTRAINT PK SAI CASCADE SQL Server 中与此等效的是什么 您正在考虑与实际 DELETE 语句相关的 FO

随机推荐

  • Localized.strings 已损坏?

    我试图包含我的应用程序的国际化 并且仅出于测试目的 我在文件 Localized string 中添加了一行简单的代码 这是我的整个文件 测试区域设置 测试区域设置 当我尝试运行我的应用程序时 我收到此错误 Localized string
  • 以编程方式禁用多窗口功能

    我正在尝试禁用 Android 的多窗口功能 我已经阅读了 android 文档 并且知道 resizeableActivity 仅适用于 android N API 级别 24 但我想在较低级别的 android API 上禁用它 由于三
  • 用Python绘制不等式图

    我正在创建一个程序 它将随机生成线 即不等式 并显示满足约束的区域 我不介意使用哪些库 所以可以随意使用 sympy numpy 等 我将显示我当前的代码 但这只是填充了两行之间的区域 并且根本不使用不等式 如果可能的话 有一个图例就好了
  • Angular 2 中如何将对象从一个组件传递到另一个组件?

    I have 角组件第一个组件使用第二个组件作为指示 他们应该共享相同的模型object 它在第一个组件中初始化 如何将该模型传递给第二个组件 对于从父级到子级的单向数据绑定 请使用 Input装饰器 如受到推崇的 https angula
  • Axios POST 请求不使用“multipart/form-data”发送任何内容 [React Native - Expo]

    Scenario 前端基本上是一个 React Native Expo 应用程序 用户可以在其中发布报告 这包括拍摄多张照片并填写一些详细信息 后端只是node js 带有 Express 和 Multer Problem 我使用 Axio
  • UISegmentedControl 不扩大导航栏的尺寸/非常压扁

    通过运行一本 iPhone SDK 书籍和其中一个示例 我创建了一个表 然后添加了一个UISegmentedControl到表进行排序 我在 IB 中尽职尽责地做到了这一点 看起来很棒 IB截图http img skitch com 201
  • 可以为 iPhone/armv6 编译 libpcap 吗?

    尝试编译一个使用 pcap h 的基本程序 我已经在我的 Mac OSX 机器上设置了环境 该机器使用适用于 iPhone 3GS 的 iPhone 3 1 3 SDK 我还将 libpcap 安装到 libpcap 这样我就可以使用 I
  • Ansible inventory:aws_ec2 模块——寻找工作“groups:”函数的示例

    我有一个使用 aws ec2 模块的动态 ansible 库存 一般来说 它运作得很好 然而 有一个问题 我曾多次尝试使用 groups 关键字创建组 但所有尝试都失败了 文档有点稀疏 事实上 完整的文档就在这里 groups dictio
  • 如何在多模块项目中使用 JUnit5 和 SpringBoot2 通过 gradle 而不是 intelliJ 运行测试

    我创建了一个空的 gradle 项目 内部包含单个模块 子项目 也作为 gradle 项目 但使用 Spring boot 2 主要 无标题1 构建 gradle group com example version 1 0 SNAPSHOT
  • Option[io.databaker.env.EnvValue],但类型 F 的类型不变

    我有以下代码片段 但未编译 trait Environment F def get v EnvVariable F Option EnvValue final class LiveBadEnvironment F Sync extends
  • python列表和字典可以无限嵌套吗?

    最近我发现python列表和字典可以像这样多层嵌套 a a1 a2 a3 4 5 6 那么我想问一下嵌套层级有技术限制吗 如果没有 嵌套级别是否有一个常规限制 它是什么 唯一的限制是内存 给定无限的内存 你可以无限地嵌套 Python 对象
  • 为什么包含 ValueTuple 的结构可以满足非托管约束,但 ValueTuple 本身却不能?

    考虑以下类型 int int 管理 struct MyStruct public int int Value 不受管理 Problem 非通用结构MyStruct 其中有一个托管成员 int int 已被评价为托管型 预期行为 包含托管成员
  • Json.NET - 直接从流反序列化为动态?

    在来自的一点帮助下表现技巧 http james newtonking com json help index html topic html Performance htm在 Json NET 文档中 我整理了一种从远程资源下载 反序列化
  • 具有自定义委托或数据源的视图控制器的状态保存

    我正在尝试使用 iOS 6 我的应用程序是 7 0 状态保留来保留从另一个视图控制器以模态方式呈现的视图 因此 它具有典型的模态视图控制器解雇模式 TNTLoginViewController h 包含 protocol TNTLoginV
  • Angular 2 - 多语言支持

    我们在应用程序中使用 Angular 2 0 在该应用程序中 我们希望提供多语言支持 我们知道如何使用 Angular 1 0 来实现 但不知道2 0如何使用 我可以推荐ngx 翻译 https github com ngx transla
  • 如何在 GraphQL 服务器上启用 gzip?

    根据本文 http graphql org learn best practices 鼓励任何生产 GraphQL 服务启用 GZIP 并鼓励其客户端发送标头 接受编码 gzip 我已经在 Postman 中测试了这一点 启用或禁用 Acc
  • Matplotlib 文本透明度

    我想知道是否可以更改 Matplotlib 中文本的透明度 set alpha不起作用 在文档中我找不到任何相关内容 是否有任何解决方法 我想将它连接到 pick event EDIT 我实际上是想改变图例文本的透明度 虽然我试图解决这个问
  • 将现有 Python 库集成到 Anaconda

    我在 Ubuntu 上安装了一些 Python 库 工具包 例如 NLTK SciPy 和 NumPy 不过我想尝试使用 Anaconda 发行版 在安装 Anaconda 之前我应该 删除现有的库吗 无需删除系统 Python 蟒蛇坐在它
  • Hazelcast 表现较慢

    我们正在尝试在我们的应用程序中使用 Hazelcast 作为分布式缓存 这是我们的配置
  • 如何拥有可能包含空值的主键组合?

    我有两个表 A 和 B 定义如下 create table A A 1 varchar2 10 NOT NULL A 2 varchar2 10 A 3 varchar2 10 constraint A PK primary key A 1