oracle建表创建约束

创建表时加约束

create table Product(
Productno number primary key,--商品编号
pname     varchar2(20) not null unique,--商品名称
Price     number not null,--价格
Barcode   char(13) not null unique,--条形码
ProPrice  number,--促销价格
Promodate date,--促销起日期
EndDate   date,--促销止日期
discount  number check(discount in(0,1)) not null,--允许打折
quantity  number not null,--库存数量
alarm     number,--库存警报数量
items     number,--进货计划
sales     number check(sales in(0,1))not null,--允许销售
facturerno  number not null,--厂商编号
Supplierno  number not null--供货商编号
);

已创建的表加约束

//创建顾客表
SQL> create table customer(
  2  customerId number,
  3  name varchar2(10),
  4  address varchar2(60),
  5  email varchar2(10),
  6  sex varchar2(2),
  7  cardId char(18)
  8  );

表已创建。
//创建购买表
SQL> create table purchase(
  2  customerId number,
  3  goodsId number,
  4  nums    number
  5  );

表已创建。


设置客户表中客户名字不能为空
SQL> alter table customer modify name varchar2(10) not null;

表已更改。
设置客户表性别
SQL> alter table customer add(constraint sex_check check(sex='男' or sex='女'));

表已更改。


设置客户性别并且默认值为男
SQL> alter table customer modify sex default'男'check(sex='男' or sex='女');

表已更改。

设置邮箱不能重复
SQL> alter table customer add(constraint email_unique unique(email));

表已更改。

设置商品单价大于0
SQL> alter table goods add(constraint unitprice_check check(unitprice>0));

表已更改。

设置购买数量在1-30
SQL> alter table purchase add(constraint nums_check check(nums>0 and nums<=30));

表已更改。
设置商品名不能为空
SQL> alter table goods modify goodsName varchar2(50) not null;

表已更改。


//设置客户身份证不能重复
SQL> alter table customer add(constraint cardid_unique unique(cardId));

表已更改。

设置客户地址
SQL> alter table customer add(constraint address_check check((address='海淀') or (address='朝阳') or (address='东城')or  (address='西城') or (address='通州') or (address='崇文')));

表已更改。

删除商品表中对身份证不能重复的约束
SQL> alter table CUSTOMER drop constraint cardid_unique;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值