DB2表中的NULL检查和插入规则是什么?
DB2中的NULL定义为空值,是一个未知值。如果要限制任何列中的NULL值,则应在CREATE TABLE中使用“NOT NULL”参数定义该列。
“NOT NULL”将强制用户为该列输入值。但是,如果不想为此列提供任何值,也可以使用“WITH DEFAULT”参数,这将允许DB2在用户未为此“NOT NULL”列提供任何值的情况下放置默认值。
例如,如果有一个INVOICE_ID列,它不能为NULL,并且还希望DB2在用户未为此列提供任何值的情况下在此列中插入空格,则将如下定义该列:
CREATE TABLE ORDERS (ORDER_ID CHAR(15) NOT NULL, ORDER_DATE DATE, INVOICE_ID CHAR(15), NOT NULL WITH DEFAULT ORDER_TOTAL DECIMAL(9,2), TRANSACTION_ID CHAR(15), PRIMARY KEY(ORDER_ID), IN DB4ES01;
INVOICE_ID列的数据类型为CHAR,DB2为CHAR取的默认值为空格。因此,在上述情况下,已将INVOICE_ID列定义为NOT NULL,并且当未为此列提供显式值时,它将采用空格作为默认值。
广告