电商09数据库系统实习报告(学号+姓名)
2)默认的绑定对象:仓库表中的“仓库容量”列
3)创建默认的作用: 当将默认值“500”绑定到“仓库容量”列时,如果插入时没有明确提供值,默认值便指定“500”,并将其插入“仓库容量”列中。 4)创建和绑定默认的代码:
create default def_rl
as '500' go
exec sp_bindefault 'def_rl','仓库管理表.[仓库容量]' go
6.采购管理表
1)默认名:def_crq
2)默认的绑定对象:采购管理表中的“采购时间”列
3)创建默认的作用: 当将默认值“2012-10-24”绑定到“采购时间”列时,如果插入时没有明确提供值,默认值便指定“2012-10-24”,并将其插入“采购时间”列中。
4)创建和绑定默认的代码:
create default def_crq
as '2012-10-24' go
exec sp_bindefault 'def_crq','采购管理表.[采购时间]' go
7.销售管理表
1)默认名:def_xrq
2)默认的绑定对象:销售管理表中的“销售日期”列
3)创建默认的作用: 当将默认值“2012-10-24”绑定到“销售日期”列时,如果插入时没有明确提供值,默认值便指定“2012-10-24”,并将其插入“销售日期”列中。
4)创建和绑定默认的代码:
create default def_xrq
as '2012-10-24' go
exec sp_bindefault 'def_xrq','销售管理表.[销售日期]' go
8.报损管理表
31
电商09数据库系统实习报告(学号+姓名)
1)默认名:def_brq
2)默认的绑定对象:报损管理表中的“报损日期”列
3)创建默认的作用: 当将默认值“2012-10-24”绑定到“报损日期”列时,如果插入时没有明确提供值,默认值便指定“2012-10-24”,并将其插入“报损日期”列中。
4)创建和绑定默认的代码:
create default def_brq
as '2012-10-24' go
exec sp_bindefault 'def_brq','报损管理表.[报损日期]' go
9.入库管理表
1)默认名:def_rbh
2)默认的绑定对象:入库管理表中的“仓库编号”列
3)创建默认的作用: 当将默认值“001”绑定到“仓库编号”列时,如果插入时没有明确提供值,默认值便指定“001”,并将其插入“仓库编号”列中。
4)创建和绑定默认的代码:
create default def_rbh
as '001' go
exec sp_bindefault 'def_rbh','入库管理表.[仓库编号]' go
10.出库管理表
1)默认名:def_cbh
2)默认的绑定对象:出库管理表中的“仓库编号”列
3)创建默认的作用: 当将默认值“001”绑定到“仓库编号”列时,如果插入时没有明确提供值,默认值便指定“001”,并将其插入“仓库编号”列中。
4)创建和绑定默认的代码:
create default def_cbh
as '001' go
exec sp_bindefault 'def_cbh','出库管理表.[仓库编号]' go
5.1.3 对于规则的要求
32
电商09数据库系统实习报告(学号+姓名)
1.商品管理表
1)规则名:rule_jg
2)规则的绑定对象:商品管理表中的“价格”列
3)创建规则的作用:限制了局部变量price的值必须大于0,可以避免信息输入出错。
4)创建和绑定规则的代码:
create rule rule_jg as
@price>0
exec sp_bindrule 'rule_jg', '商品管理表.[价格]'
2.员工管理表
1)规则名:rule_bm
2)规则的绑定对象:员工管理表中的“部门”列
3)创建规则的作用:限制了局部变量list的值只能取基本信息管理部、采购管理部、销售管理部、库存管理部、报损管理部,防止信息输入的错误。 4)创建和绑定规则的代码:
create rule rule_bm as
@list in ('基本信息管理部','采购管理部','销售管理部','库存管理部','报损管理部')
exec sp_bindrule 'rule_bm', '员工管理表.[部门]'
3.仓库管理表
1)规则名:rule_rl
2)规则的绑定对象:仓库管理表中的“仓库容量”列
3)创建规则的作用:限制了局部变量volume的值必须大于0并且小于等于500,
可以避免信息输入出错。 4)创建和绑定规则的代码:
create rule rule_rl as
@volume>0 and @volume<=500
exec sp_bindrule 'rule_rl', '仓库管理表.[仓库容量]'
33
电商09数据库系统实习报告(学号+姓名)
5.1.4 存储过程 1、商品存储
1)存储过程名:usp_proc1
2)创建存储过程的作用:根据商品编号,查询该商品的存储情况,其中包括该
商品的商品编号,商品名称,商品规格,仓库编号,仓库名称,仓库容量。 3)创建存储过程的代码:
create procedure usp_proc1 @商品编号varchar(20) as
select 商品管理表.商品编号,商品管理表.商品名称,规格,仓库编号,仓库名称,仓库
容量
from 商品管理表,仓库管理表
where 商品管理表.商品编号=仓库管理表.商品编号and 商品管理表.商品编号=@商品编号
2、商品采购
1)存储过程名:usp_proc2
2)创建存储过程的作用:根据商品编号,查询该商品的采购情况,其中包括该商品的商品编号,商品名称,规格, 采购单价,采购数量,采购时间,供应商编号。
3)创建存储过程的代码:
create procedure usp_proc2
@商品编号varchar(20) as
select 商品管理表.商品编号,商品管理表.商品名称,规格,采购单价,采购数量,采购时
间,供应商管理表.供应商编号
from 商品管理表,采购管理表,供应商管理表
where 商品管理表.商品编号=采购管理表.商品编号and 采购管理表.供应商编号=供应
商管理表.供应商编号 and商品管理表.商品编号=@商品编号
3、商品销售
1)存储过程名:usp_proc3
2)创建存储过程的作用:根据商品编号,查询该商品的采购情况,其中包括该商品的商品编号,商品名称,规格,销售单价,销售数量,销售日期。
3)创建存储过程的代码:
34
电商09数据库系统实习报告(学号+姓名)
create procedure usp_proc3 @商品编号varchar(20) as
select 商品管理表.商品编号,商品名称,规格,销售单价,销售数量,销售日期 from 商品管理表,销售管理表 where 商品管理表.商品编号=销售管理表.商品编号and 商品管理表.商品编号=@商品编
号
5.1.5 触发器 1、商品管理表
1)触发器名:tr_sp
2)创建触发器的作用:实现当向商品管理表中插入商品信息时,检查该商品是否存在,如果不存在,给出“not allowed”的提示信息。 3)创建触发器的代码:
create trigger tr_sp on 商品管理表 for insert as
declare @商品编号varchar(20)
select @商品编号=商品编号from inserted
if(select count(*) from 商品管理表where 商品编号=@商品编号)=0 begin
print'not allowed' rollback tran end
insert into score values('','','','','','')
2、员工管理表
1)触发器名:tr_yg
2)创建触发器的作用:实现当向员工管理表中插入员工信息时,检查该员工是否存在,如果不存在,给出“not allowed”的提示信息。 3)创建触发器的代码:
create trigger tr_yg on 员工管理表 for insert as
declare @员工编号varchar(20)
select @员工编号=员工编号from inserted
if(select count(*) from 员工管理表where 员工编号=@员工编号)=0 begin
print'not allowed' rollback tran
35