ORACLE 12c 创建始终生成列主键

1.GENERATED ALWAYS AS IDENTITY 模式

CREATE TABLE TB_TEST(
	id NUMBER GENERATED ALWAYS AS IDENTITY,
    name varchar(100)
)

此时插入主键报错,去掉主键成功

2.GENERATED BY DEFAULT AS IDENTITY模式

CREATE TABLE TB_TEST2(
	id NUMBER GENERATED BY DEFAULT AS IDENTITY,
	name VARCHAR(100)
)

此时插入主键成功,但插入null失败

3.GENERATED BY DEFAULT on NULL AS IDENTITY模式

CREATE TABLE TB_TEST3(
	id NUMBER GENERATED BY DEFAULT on NULL AS IDENTITY,
	name varchar(100)
)

此时都成功了.

你可能感兴趣的:(数据库主键,oracle)