数据库实验3

--1.创建一个查询图书库存量的存储过程“cx_tskcl_proc”,输出的内容包含
--类别号、图书编号、图书名称、库存数等数据内容。
create proc cx_tskcl_proc
as
select class_number, book_code, book_name, store 
from book_detail;

--2.创建一个名为TS_CX_PROC的存储过程,它带有一个输入参数,用于接受图书编号,
--显示该图书的名称、作者、出版和复本数。
create proc TS_CX_PROC @图书编号 char(35)
as
select book_name, author, publishing_company, copies 
from book_detail
where book_code = @图书编号;

--3.修改存储修改TS_CX_PROC存储过程,使之能按图书名称查询图书的相关信息。
--执行修改后的TS_CX_PROC存储过程,分别查询“航海英语”、“艺海潮音”等图书的信息。
alter proc TS_CX_PROC @图书名称 char(35)
as
select * from book_detail
where book_name = @图书名称;

exec TS_CX_PROC '航海英语';
exec TS_CX_PROC '艺海潮音';

--4.删除存储过程
drop proc cx_tskcl_proc, TS_CX_PROC;

 

 

接上

--5.图书类别表上创建一个名为tslb_insert_trigger的触发器,当执行INSERT操作时,该触发器被触发,禁止插入记录。
create trigger tslb_insert_trigger on book_class
for insert 
as
begin
    print('禁止插入数据!')
    rollback transaction
end;

--6.在图书明细表上创建一个名为ts_delete_trigger的触发器,当执行DELETE操作时,该触发器被触发,禁止删除记录。
create trigger ts_delete_trigger on book_detail
for delete
as
begin
    print('禁止删除数据!')
    rollback transaction
end;

--7.在读者信息表上创建一个名为dzxx_insert_trigger的触发器,
--当在读者信息表中插入记录时,将该记录中的借书证号自动插入借还明细表中。
create trigger dzxx_insert_trigger on reader
for insert
as
declare @num char(35)
select @num = id
from inserted
insert borrow_return(borrow_code) values (@num);

--8.删除触发器
drop trigger tslb_insert_trigger, dzxx_insert_trigger;

 

到这里就结束了,可以看一下这几个链接熟悉一下:

SQL基本使用

T-SQL编程

posted @ 2022-11-08 15:27  EvanTheBoy  阅读(163)  评论(0编辑  收藏  举报