PLsql小结

1、约束constraint

a、列级约束和表级约束

create table emp2(
id number(10) not null,
name varchar2(20) constraint emp2_name_nn not null,
email varchar2(20)
)

constraint emp2_name_nn是给约束命名,左侧myobject–>constraint目录下有对应约束。
以上是一个列级约束,表级约束如下:

drop table emp2;
create table emp2(
id number(10) constraint emp2_id_nn not null,
name varchar2(20) not null,
salary number(10,2),
constraint emp2_name_uk unique(name)
)

–两者无本质区别。

b、unique 和primary key的区别:
unique允许同时为null,后者不允许。

c、foreign key

drop table emp6;
create table emp6(
id number(10) constraint emp6_id_nn not null,
name varchar2(20) not null,
salary number(10,2),
constraint emp6_name_uk unique(name),
constraint emp6_id_fk foreign key(id) references employees
)

此时,插入数据的id必须在employees表内存在,否则报错。

c、check加限制

drop table emp6;
create table emp6(
id number(10) constraint emp6_id_nn not null,
name varchar2(20) not null,
salary number(10,2) check(salary<30000 and salary>1500),
constraint emp6_name_uk unique(name),
constraint emp6_id_fk foreign key(id) references employees
)

此时插入的salary必须满足check条件。

—疑问:PLsql依赖手机wifi;emp2插入数据会覆盖从前数据;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值