❶ 資料庫:
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_出版社 '@出版社編號'