sql - 如何在表中创建总和为 1 条 sql 的行

标签 sql oracle oracle-sqldeveloper

我正在尝试创建具有除法可能性的表格,我希望一行中所有单元格的总和为 1。
例如:

0.1, 0.2, 0.3, 0.3, 0.1  

最佳答案

您可以在表上创建一个约束,要求每一行都满足某些条件,在这种情况下,列总数为 1:

create table my_table (
  col1 number,
  col2 number,
  col3 number,
  col4 number,
  constraint assert_sum_is_one check (col1 + col2 + col3 + col4 = 1)
)

任何将行插入或更新为不为 1 的尝试都将导致违反约束异常。

关于sql - 如何在表中创建总和为 1 条 sql 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965511/

相关文章:

php - 将用户帐户设置为在给定时间后过期

java - sqldeveloper 错误信息 : Network adapter could not establish the connection error

mysql - 查询获取学生和成绩的 SQL

performance - 如何在子查询因子临时表上创建索引?

java - JDBC:多列 IN 查询

Oracle-DBMS作业调度程序更改开始时间

sql - 如何在 Oracle 中创建一个临时表作为另一个表的副本?

oracle - 如何在Oracle SQL Developer中导出Clob字段数据

sql - SSIS - 填充 OLE DB 目标表中未映射的列

sql - 关于 PLSQL Exit Command 返回状态