ORACLE:如何使用现有的NULL值更改表默认值

连帽衫

我有一个具有空值的可空列,我想为表中的新插入添加默认约束。

我的变更代码:

alter table customer_02
modify reference default on null
'No References';

我不断收到错误ORA-02296的含义,表中已经存在空值,因此无法启用新的默认值。如何只为新插入插入默认值,而不影响以前的数据?

凯斯·贾德

Update customer_02 set reference = 'No references' where reference is null

第一

整个列必须遵守约束;您不能让旧数据保持为空,然后安装“非空”规则。您说的是references列可以在其中曾经包含null(意味着“ no reference”)的地方包含“ no reference”(没引用),因此更新这些旧的null值应该不会有什么危害,因此它们与新的null值保持一致规则,那么您可以实施新规则

如果您非常希望旧行保持为空,而新行不能为空,则需要使用(插入之前)触发器,如果​​:new.reference列为null,则引发错误,并将该列保留为可为空。我会避免这种情况有两个原因,一个原因是它使用触发器,它们通常是完成事情的一种不好的方式,其二是因为它建立了一个看起来不必要的不​​一致之处,这会使将来的开发人员感到困惑。如前所述,如果null不再作为表示没有引用的方式,则应调整旧数据。如果前端需要一个值,则将其保留为null可能还会在其他地方留下错误-您可能最终导致用户在调用旧记录时遇到崩溃。

我建议始终力求数据建模的一致性,即使这意味着要调整旧数据

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从现有的2表创建表中的默认值在oracle中

来自分类Dev

更改具有默认值的现有表

来自分类Dev

为现有的mysql表分配唯一的默认值

来自分类Dev

如何更改现有的Hive表的FIELD TERMINATED值?

来自分类Dev

将默认值的列添加到oracle中的现有表

来自分类Dev

使用默认值向现有表添加新列

来自分类Dev

如何使用数据为现有模型中的新模型字段设置默认值

来自分类Dev

如何使用外键将值插入到现有的 SQL Server 表中

来自分类Dev

在模型中执行值更改作为默认值

来自分类Dev

根据数组中的现有值动态更改下拉选择默认值

来自分类Dev

使用Dapper插入具有默认值的表

来自分类Dev

有什么办法可以区分Oracle中的“参数没有默认值”和“参数的默认值为null”

来自分类Dev

如何使用每个类顶部的行更改默认值

来自分类Dev

如何使用python用逗号分隔文件的值更新现有的csv文件

来自分类Dev

用于将现有列更改为默认值的 Mysql 语法

来自分类Dev

如何从Liquibase中的现有列添加具有默认值的新列

来自分类Dev

如何将集合中的布尔值更改为与现有值相反的值?

来自分类Dev

创建具有默认值的表

来自分类Dev

ACF:如何更改默认值/设置

来自分类Dev

如何更改舞台字段的默认值

来自分类Dev

如何更改现有表以在Oracle中创建范围分区

来自分类Dev

添加新列时如何设置现有条目的默认值?

来自分类Dev

AppleScript-如何遍历列并根据Numbers中的现有值更改值

来自分类Dev

更改sqlite表以添加带有默认值的时间戳列

来自分类Dev

如何在SQL Server 2016中现有的内存优化表上更改DURABILITY选项?

来自分类Dev

SharedPreferences总是在我现有的应用程序中获得默认值,但是在创建新应用程序时可以

来自分类Dev

我可以在Django上自动将数据库表名称从默认值更改吗?

来自分类Dev

重新启动时,group_concat_max_len的值更改为默认值

来自分类Dev

在特定的javascript函数调用中,HTML控件的值更改为其默认值

Related 相关文章

  1. 1

    如何从现有的2表创建表中的默认值在oracle中

  2. 2

    更改具有默认值的现有表

  3. 3

    为现有的mysql表分配唯一的默认值

  4. 4

    如何更改现有的Hive表的FIELD TERMINATED值?

  5. 5

    将默认值的列添加到oracle中的现有表

  6. 6

    使用默认值向现有表添加新列

  7. 7

    如何使用数据为现有模型中的新模型字段设置默认值

  8. 8

    如何使用外键将值插入到现有的 SQL Server 表中

  9. 9

    在模型中执行值更改作为默认值

  10. 10

    根据数组中的现有值动态更改下拉选择默认值

  11. 11

    使用Dapper插入具有默认值的表

  12. 12

    有什么办法可以区分Oracle中的“参数没有默认值”和“参数的默认值为null”

  13. 13

    如何使用每个类顶部的行更改默认值

  14. 14

    如何使用python用逗号分隔文件的值更新现有的csv文件

  15. 15

    用于将现有列更改为默认值的 Mysql 语法

  16. 16

    如何从Liquibase中的现有列添加具有默认值的新列

  17. 17

    如何将集合中的布尔值更改为与现有值相反的值?

  18. 18

    创建具有默认值的表

  19. 19

    ACF:如何更改默认值/设置

  20. 20

    如何更改舞台字段的默认值

  21. 21

    如何更改现有表以在Oracle中创建范围分区

  22. 22

    添加新列时如何设置现有条目的默认值?

  23. 23

    AppleScript-如何遍历列并根据Numbers中的现有值更改值

  24. 24

    更改sqlite表以添加带有默认值的时间戳列

  25. 25

    如何在SQL Server 2016中现有的内存优化表上更改DURABILITY选项?

  26. 26

    SharedPreferences总是在我现有的应用程序中获得默认值,但是在创建新应用程序时可以

  27. 27

    我可以在Django上自动将数据库表名称从默认值更改吗?

  28. 28

    重新启动时,group_concat_max_len的值更改为默认值

  29. 29

    在特定的javascript函数调用中,HTML控件的值更改为其默认值

热门标签

归档