alter table 汇总表
add 备注 char(20);
select *
from 汇总表
alter table 汇总表
alter column 施工单位 set default 5;
alter table 汇总表
alter column 年月 set default 5;
alter table 汇总表
add primary key (施工单位, 年月);
TRUNCATE TABLE 汇总表;
insert into 汇总表(施工单位, 年月, 结算金额)
select 施工单位,
convert(结算日期, char),
sum(结算金额)
from 作业项目表
group by 施工单位, convert(结算日期, char);
# delete
# from 汇总表;
truncate table 汇总表;
alter table 作业项目表
add primary key (单据号);
alter table 单位表
add primary key (单位代码);
alter table 材料消耗表
add primary key (单据号, 物码, 消耗数量);
alter table 材料表
add primary key (物码);
alter table 油水井表
add primary key (井号);
①
insert into 材料消耗表
values ('zy2020001', 'wm004', 100)
②
insert into 材料消耗表
values ('zy2020002', null, 200)
alter table 作业项目表
add foreign key (单据号) references 作业项目表 (单据号);
alter table 材料表
add foreign key (物码) references 材料表 (物码);
alter table 作业项目表
add foreign key (预算单位) references 单位表 (单位代码);
alter table 作业项目表
add foreign key (井号) references 油水井表 (井号);
alter table 作业项目表
add foreign key (施工单位) references 单位表 (单位名称);
insert into 油水井表
values ('y007', '油井', '112203002');
insert into 材料表
values (' zy2016007', ' wm006', 100, 10);
update 作业项目表
set 施工单位='作业公司作业五队'
where 单据号 = 'zy2016001';
① 将(y007 油井 112203002)插入到油水井表。
② insert into 材料消耗表 values(‘zy2020007’,‘wm006’,100)
③ 将单位表中的(112202002 采油二矿二队)删除,查看油水井表和成本表中的数据有何变化。
delete
from 单位表
where 单位代码 = ' 112202002';
④ 将材料表中的(wm004 材料四 袋 10)修改为(wm04 材料四 袋 10)。
update 材料表
set 物码='wm04'
where 名称 = '材料四';
⑤ 撤销上述成功的更新操作。
① 单位表的单位名称不能取空值、且取值唯一。
② 油水井表的井别只允许取“油井”或“水井”,单位代码不能取空值。
③ 材料表的名称不能取空值、且取值唯一,计量单位不能取空值。
④ 材料消耗表的消耗数量不能取空值。
⑤ 对成本表根据实际应用的要求定义适当的用户定义的完整性约束条件。
alter table 单位表
add constraint aa1 check 单位名称 is not null );
alter table 单位表
add constraint uni unique (单位代码);
alter table 油水井表
add constraint aa2 check 井别 in (' 油井', '水井'));
alter table 油水井表
alter column 单位代码 char (20) not null;
alter table 材料表
alter column 计量单位 char (20) not null;
alter table 材料表
add constraint uni2 unique (计量单位);
alter table 材料表
alter column 计量单位 char (20) not null;
alter table 材料表
alter column 消耗数量 int not null;
alter table 材料费表
alter column 单价 int not null;
alter table 作业项目表
add constraint asd check (材料费 + 人工费 + 设备费 + 其它费用 = 结算金额);
create view 视图一
as
select 作业项目表.*, 物码, 消耗数量, 单价
from 作业项目表,
材料表
where 作业项目表.单据号 = 材料表.单据号;
select 结算金额, 消耗数量
from 视图一
where 物码 = 'wm003';
select 预算单位,
施工内容
from 视图一
where 单据号 = 'zy201 6001'
and 物码 = 'wm001';
create view 预算状态
as
select 单据号,
预算单位,
井号,
预算金额,
预算人,
预算日期
from 作业项目表;
insert into 预算状态
values (' zy2016008', '112202002', ' y005', '10000', '张三', ' 2020-07-02');