❶ 数据库:
create table 图书
(书号 char(9)primary key,
书名 char(40),
作者编号 char(40),
价格 money check(价格>=0),
出版社编号 char(40)
);
create table 作者
(编号 char(10)primary key,
姓名 char(40),
电话 char(11)
);
create table 出版社
(编号 char(40)primary key,
出版社名称 char(50),
地址 varchar(100)
);
insert into 图书
values('1','书一','160112101','5','201600001')
insert into 图书
values('2','书二','160112101','20','201600001')
insert into 图书
values('3','书三','160112101','39','201600004')
insert into 图书
values('4','书四','160112102','30','201600002')
insert into 图书
values('5','书五','160112102','32','201600002')
insert into 图书
values('6','书六','160112102','37','201600004')
insert into 图书
values('7','书七','160112103','18','201600003')
insert into 图书
values('8','书八','160112103','9','201600003')
insert into 图书
values('9','书九','160112103','48','201600004')
insert into 图书
values('10','书十','160112104','9','201600001')
insert into 图书
values('11','书十一','160112104','15','201600001')
insert into 图书
values('12','书十二','160112104','52','201600003')
insert into 作者
values('160112101','麦庐','186****8369')
insert into 作者
values('160112102','天私服','186****8695')
insert into 作者
values('160112103','张洪轩','186****8003')
insert into 作者
values('160112104','张力','186****8004')
insert into 出版社
values('201600001','考试书店','长理东')
insert into 出版社
values('201600002','考试书店分店','长理西')
insert into 出版社
values('201600003','考试书店连锁店','长理南')
insert into 出版社
values('201600004','高教出版社','长理北')
insert into 出版社
values('201600005','北大出版社','北京')
go
create proc pro_出版社
@出版社编号 char(40)
as
--1.显示出版社信息
IF (@出版社编号 not in(select 编号 from 出版社 ))
begin
print'error:查无此出版社!';
return;
end
else
begin
select *
from 出版社
where 编号 = @出版社编号 ;
end
--2.如果没书出版,删除该记录
IF (select COUNT (书号) from 图书,出版社 where 图书.出版社编号 =@出版社编号)=0
begin
delete
from 出版社
where 编号 = @出版社编号;
print'已删除该出版社!';
return;
end
else
begin
print'error:该出版社出版了图书!';
end
--3.如果该出版社的平均价格低于元,所有书涨价%
IF (select avg(价格) from 图书 where 图书.出版社编号 = @出版社编号 )<20
begin
update 图书
set 价格=价格*1.1
where 图书.出版社编号 = @出版社编号;
end
else
print('error:该出版社平均价格大于元');
--输入出版社编号
exec pro_出版社 '@出版社编号'