oracle怎么校验字段是否为非空约束

2024-11-20 14:49:17
推荐回答(4个)
回答1:

dba_tab_columns视图有一个 nullable的字段,是说该字段是否允许为空,如果不允许为空,那么他就是非空呗,不过我忘了他的具体内容了,大概你要自己看一下才行。
不过你要全部一样,自己建立不是很慢么,个人建议你可以按用户导出建表语句,然后改一改在另外一个库上建立就好了。plsql dev可以实现的,不导内容就行了。用exp也可以,不导内容只倒框架。

回答2:

oracle中在建表的时候就会在某个字段建立非空check。

举例如下:
create table stu( --此表没有任何的约束
stuid number,
name varchar(20),
age number(2),
sex char(2),
birthday date
);
给上面的表添加 主键约束 (把studi设为主键)
alter table stu add contraint pk_stuid primary key(stuid);

给上面的表添加 check约束 (插入的年龄必须大于19岁)
alter table stu add contraint chk_age check(age>19);

给上面的表添加 非空约束 (要求姓名不能为空值)--非空约束与其他的不一样
alter table stu modify name not null;

回答3:

你看看下面的查询是否符合你的要求
select * from user_tab_columns t
where t.table_name=表名 and t.nullable='Y'

回答4:

desc 表名