拜托了 這個作業很重要??
uj5u.com熱心網友回復:
樓主,你這個題目太大,我建議你圖書館去借書。 很多書里面,圖書館借閱系統是有的。可以參考一下。uj5u.com熱心網友回復:
哪里不會問哪里uj5u.com熱心網友回復:
-------------------1、未進行測試。2、更加業務自行添加其他約束-------
---創建表
if not OBJECT_ID (N'tempdb..#圖書') is null
drop table #圖書
go
create table #圖書(
序號 int ,
編號 varchar,
書名 varchar,
庫存 int,
創建日期 datetime
)
go
if not OBJECT_ID (N'tempdb..#用戶') is null
drop table #用戶
go
create table #用戶(
序號 int ,
編號 varchar,
姓名 varchar,
創建日期 datetime
)
go
if not OBJECT_ID (N'tempdb..#記錄') is null
drop table #記錄
go
create table #記錄(
序號 int ,
用戶編號 varchar ,
圖書編號 varchar,
數量 varchar,
借用日期 varchar,
預計歸還日期 varchar,
實際歸還日期 varchar,
狀態 varchar
)
go
--插入數據
insert into #圖書
select '1','20191107001','測試1',155,getdate() union all
select '2','20191107002','測試2',55,getdate() union all
select '3','20191107003','測試3',62,getdate()
go
insert into #用戶
select '1','191107001','張三',getdate() union all
select '2','191106011','李四',getdate() union all
select '3','191105053','王五',getdate()
go
insert into #記錄
select '1','191107001','20191107002','2',GETDATE(),GETDATE()+30,'','未還' union all
select '1','191105053','20191107002','50',GETDATE(),GETDATE()+30,'','未還' union all
select '1','191105053','20191107003','20',GETDATE(),GETDATE()+30,'','未還' union all
select '1','191106011','20191107001','11',GETDATE(),GETDATE()+30,'','未還'
go
----觸發器(其他的觸發器自行根據業務添加)
if (object_id('tgr_classes_update', 'TR') is not null)
drop trigger trg_圖書
go
create trigger trg_圖書
on #圖書
for delete
as
declare @oldName varchar(20)
select @oldName = 編號 from inserted;
if (exists (select * from #記錄 where 圖書編號 = @oldName and 狀態 <> '已還' and 數量 > 0))
begin
print '無法刪除,還存在有未歸還的圖書!';
end
else
delete from #圖書 where 編號 = @oldName
print'刪除成功';
go
uj5u.com熱心網友回復:
以這份為準
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/114873.html
標籤:疑難問題
