我尝试使用Maths查询(使用布尔值)填充Oracle SQL表中的列,但收到错误数据类型无效',我已经将它们设置为小数。非常感谢任何帮助...谢谢Gavin
ALTER TABLE GS_MRC_EXISTING
ADD IF ( GROSS_LAST + DISC_LAST ) < ( GROSS_THIS + DISC_THIS ) = TRUE THEN DEC_GROSS = ( GROSS_THIS - GROSS_LAST )
CREATE TABLE GS_MRC_EXISTING (
CUST_CODE varchar (255),
GROSS_LAST decimal (6,2),
DISC_LAST decimal (6,2),
GROSS_THIS decimal (6,2),
DISC_THIS decimal (6,2),
INC_GROSS decimal (6,2),
INC_DISC decimal (6,2),
DEC_GROSS decimal (6,2),
DEC_DISC decimal (6,2)
)
答案 0 :(得分:1)
我真的不完全确定你的意图,但也许你正试图定义一个计算列:
CREATE TABLE GS_MRC_EXISTING (
CUST_CODE varchar (255),
GROSS_LAST decimal (6,2),
DISC_LAST decimal (6,2),
GROSS_THIS decimal (6,2),
DISC_THIS decimal (6,2),
INC_GROSS decimal (6,2),
INC_DISC decimal (6,2),
DEC_GROSS decimal (6,2)
GENERATED ALWAYS AS (CASE
WHEN (GROSS_LAST + DISC_LAST) < (GROSS_THIS + DISC_THIS)
THEN GROSS_THIS - GROSS_LAST
ELSE 0
END),
DEC_DISC decimal (6,2)
)