sp_addtype bianhao,'char(4)'
sp_addtype dianhua,'char(11)'/*两个自定数据类型*/
create table 销售人员表(销售人员编号 bianhao not null,销售人员姓名 varchar(5),销售人员地址 varchar(50),销售人员电话 dianhua) /*创建销售人员表*/
alter table 销售人员表
add primary key(销售人员编号)/*为销售人员表中的销售人员编号字段设置为 主键*/
alter table 销售人员表
alter column 销售人员姓名 varchar(6) not null /*修改销售人员中的销售人员字段 数据类型*/
create table 货品信息表(货品编号 bianhao not null primary key,货品名称 varchar(50) not null,货品单价 money not null,供应商名称 varchar(30) not null)
/*创建货品信息表*/
create table 客户信息表(客户编号 bianhao not null primary key,客户姓名 varchar(6) not null,客户地址 varchar(50) not null,客户电话 dianhua not null,客户邮编 varchar(6)not null)
/*创建客户信息表*/
create table 供应商信息表(供应商名称 varchar(50) primary key not null,供应商地址 varchar(100) not null,供应商电话 dianhua not null,供应商邮编 char(6) not null)
/*创建供应商信息表*/
create table 订单信息表(订单编号 bianhao primary key not null,销售人员编号 bianhao not null,销售人员姓名 varchar(6) not null,客户编号 bianhao not null,客户姓名 varchar(6) not null,客户地址 varchar(50) not null,
客户电话 dianhua not null,客户邮编 char(6) not null,货品名称 varchar(50) not null,货品数量 int not null,货品单价 money not null,总金额 money not null,供应商名称 varchar(50),订货日期 datetime not null,发货日期 datetime)
/*创建订单信息表*/
create rule 编号 as @x like'[0-9][0-9][0-9][0-9]'
create rule 号码 as @x like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
create rule 邮编 as @x like'[0-9][0-9][0-9][0-9][0-9][0-9]'
/*创建三个规则 分别对应 客户编号,货品编号,销售人员编号;销售人员电话号码,客户电话号码,供应商电话号;销售人员邮编,客户邮编,供应商邮编*/
sp_bindrule '编号','销售人员表.销售人员编号'
sp_bindrule '号码','销售人员表.销售人员电话'
/*绑定规则*/
sp_bindrule '编号','客户信息表.客户编号'
sp_bindrule '号码','客户信息表.客户电话'
sp_bindrule '邮编','客户信息表.客户邮编'
/*绑定规则*/
sp_bindrule '号码','供应商信息表.供应商电话'
sp_bindrule '邮编','供应商信息表.供应商邮编'
/*绑定规则*/
SQL server中可以用sequence来实现订单号的自动生成。例如创建如下序列:
create sequence orderSeq
as bigint --数据类型
start with 100000 --开始值
increment by 1 --增量
minvalue 1 --最小值
maxvalue 1000000--最大值
no cycle --不循环
cache 3 --设置cache大小为3
这样订单号就会从100000开始每次自增1生成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)