oracle - 将布尔列添加到 oracle 数据库的现有表中
问题描述
我正在使用 oracle 数据库,并且我有一个名为 MyTitle 的表,并且在这个现有表中我必须添加一个布尔类型的列,因此该列的名称是 IsChecked 并且该列的默认值应该是 false,我尝试了以下方法请告知是否正确
alter Table MyTitle add IsChecked Number(1) default 0 not null ;
解决方案
看起来很合理。你有问题吗?不同的人/系统对伪布尔列有不同的约定。有些使用数字与 0 和 1。有些使用 achar(1)
与 'Y' 和 'N'。与系统中存在的任何约定保持一致。
我通常会包含一个check
约束,将列中的值限制为您想要的值,即
check( isChecked in (0,1) )
但是,如果您正在构建数据仓库,则有一些观点认为,包括这样的检查约束是不必要的开销,因为(或应该)只有极少数路径(理想情况下是一个)通过ETL 过程,因此您只需要确保 ETL 过程没有插入无效值。
推荐阅读
- javascript - 使用 react-moralis 的对象辅助方法
- unity3d - 如何设置随机旋转物体的速度?统一
- php - DocuSign API:initialHere 和 signHere 在同一个文档上......或不
- reactjs - 同一函数体中的 React 上下文更新被聚合为具有数据存储的单个事务,这是预期的行为吗?
- git - 推送后如何回到上一个git commit
- python - 如何解压缩 numpy.ndarray 并将其转换为另一个数组?
- php - json_decode 作为全局变量
- c# - 使用 Nuget 共享模型时,如何解决 ASP.NET Framework 的模型绑定问题?
- javascript - 想要将此 jQuery 代码转换为 vanilla JavaScript
- aws-lambda - AWS Lambda (nanoid) 中的 /var/task/node_modules/nanoid/package.json 中的“exports”未定义包子路径“./index.cjs”