如何使用1 sql的总和在表中创建行

Ofe*_*fer 4 sql oracle oracle-sqldeveloper

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

0.1, 0.2, 0.3, 0.3, 0.1  
Run Code Online (Sandbox Code Playgroud)

Boh*_*ian 8

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

create table my_table (
  col1 number,
  col2 number,
  col3 number,
  col4 number,
  constraint assert_sum_is_one check (col1 + col2 + col3 + col4 = 1)
)
Run Code Online (Sandbox Code Playgroud)

任何将行插入或更新为非总计1的尝试都将导致约束违例异常.