4

我正在 Oracle 11g DB 中尝试以下 SQL,它返回

SQL 错误:ORA-01400:无法将 NULL 插入 ("CRABERS"."AG_ASSET_REF"."CREATE_ID")。

但是,您可以看到我正在填充此列,其格式为 number(38,0)。当我插入一个值时,为什么我会收到 ORA-01400?

INSERT INTO ag_asset_ref
            (asset_type_id,
             create_id,
             create_date,
             file_size,
             bus_unit_id,
             status,
             name)
VALUES      ( 1050,
             2458,
             SYSDATE,
             50000,
             1000,
             0,
             'test insert' ) 
4

1 回答 1

2

使用此触发器会出现您的错误:

CREATE TRIGGER t_ag_asset_ref BEFORE INSERT OR UPDATE ON ag_asset_ref
FOR EACH ROW
BEGIN
    :NEW.create_id := NULL;
END;

您的情况可能不是那么简单,但触发因素肯定是原因。

于 2012-08-13T19:45:34.767 回答