当前位置:首页 » 服务存储 » 存储过程题和答案借书
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

存储过程题和答案借书

发布时间: 2022-08-06 06:30:50

1. 做一存储过程,要求找出已借书但还没有还书的人员记录、借书时间、借书书名。

Create procere 借书记录_procl
As select 借书人名字,借书时间,书名
From 借书记录 a left join 还书记录 b
Where 借书人ID=还书人ID and 借书ID=还书ID and
( 借书标志 is not null ) and (还书标志 is null)
go

2. 一个sql问题,写的详细些,谢谢!!

(1)检索借了5本以上的学生的借书证号、姓名、系名和借书数量。
select a.借书证号,姓名,系名,count(b.*)
from BORROWER a,LOANS b
where a.借书证号=b.借书证号
group by 1,2,3
having count(b.*)>5
(2)检索借书和刘诚同学所借图书中任意一本相同的学生的姓名、系名、书名和借书日期
select 姓名,系名,书名,借书日期
from BORROWER a,LOANS b,books c
where a.借书证号=b.借书证号
and b.图书登记号=c.图书登记号
and 姓名!='刘诚'
and b.图书登记号 in
(select 图书登记号 from Loans,BORROWER
where Loans.借书证号=brrower.借书证号
and 姓名='刘诚'
)
(3)建立计算机系学生借书的视图S_View,该视图的属性列由借书证号、姓名、班级、图书登记号、书名、出版社和借书日期组成。
create view S_View
as
select a.借书证号,姓名,班级,b.图书登记号,书名,出版社,借书日期
from BORROWER a,LOANS b,books c
where a.借书证号=b.借书证号
and b.图书登记号=c.图书登记号
and 系名='计算机系'
(4)建立一个存储过程N_Procere,该存储过程的功能是向BOOKS表中添加新纪录,如果添加成功则返回0,否则返回1.
create procere N_Procere (索引书号 VARCHAR(20),书名 VARCHAR(40),,作者 VARCHAR(20),,图书登记号 VARCHAR(20),,出版社 VARCHAR(40),,价格 NUMBER) as
begin
insert into books
values(索引书号,书名,作者,图书登记号,出版社,价格)
if sqlcode=0 then
return 0
elseif
return 1
end if;
end;
(5)在BORROWER表上建立一个instead of delete的触发器,该触发器的功能是当被删除的借书证号在LOANS表中没有借书记录时删除该借书证号,否则不删除。
create trigger t_BORROWER
Before DELETE On BORROWER.借书证号
where 借书证号 not in (select 借书证号 from loans)

3. 题目:在图书管理数据库中创建一个存储过程,在用户借书之前,判断该用户能否借书。

不知道你的表结构什么样, 不过一下几点:

  1. 分类=类型, 这样写是将两个列进行比较, 你确定不是 分类='类型' 这样吗

  2. 设置值的时候, 可以直接SELECT @xxx =[列] FROM .... 这样, 当然你那样写也可以

  3. 你的execute语句, 后面的参数如果过是字符串型,应该用单引号引起来

  4. 存储过程创建之后, 可以用 ALTER PROCEDURE进行修改, 不必每次都drop重新create

4. orcale plsql建立存储过程 .建立存储过程完成图书管理系统中的借书功能。

这种图书功能为什么还要自己做呢,直接在网上一套图书管理系统就行啦,建意可以去看看建硕自定义管理系统里图书管理不错的,系统可以很方便借书、还书、查找、打印、导出、统计、报表等操作。可以自定义图书类别,读者类别,方便添加图书、管理图书、添加读者、管理读者。提供完善的借书和还书操作,拥有完全独立的数据库系统,是您的数据安全得到了保障,数据管理为您提供:图书管理,读者管理。数据查询为您提供:借阅情况,书库查询,读者查询

5. 用T-SQL语句写借书的存储过程

简单写了一下,中间没加事务,最好加上事务回滚, if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_borrow_book]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[p_borrow_book]
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE Procere p_borrow_book @readerid varchar(128), /*借书证id*/ @bookbacode varchar(128), /*图书ID*/ @reint int output /*返回成功,失败*/ AS
begin declare @stocknum int select @stocknum =StockNum from bookinfo where bookbacode=@bookbacode if ( @stocknum<1) --此图书无数量数量 begin set @reint=0 --返回失败 end else begin insert into BookBorrowReturnInfo (readerid,bookbacode) values (@readerid,@bookbacode) IF @@ERROR <> 0 begin set @reint=0 end update BookInfo set StockNum=StockNum-1 where bookbacode=@bookbacode IF @@ERROR <> 0 begin set @reint=0 end else being set @reint=1 end end end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

6. SQL数据库的一些简单问题。下面1~8题谁会麻烦高手帮忙,小弟感激不尽!谢谢。

1 略
2 略
3 insert into BookInfo (BookId,BookName,Publish,Author) values ('001','这本书是什么书','无知者无畏出版社',‘无名氏')
4 Delete from BookInfo where BookName='查无此书'
5 Update ReaderInfo set Institute=‘计算机学院' where ReadId=1
6 select * from ReadInfo where left(grade,4)='2012'
7 create view vw_myview1
as
select a.ReadId,c.BookName,b.LentDate,b.ReturnDate from ReaderInfo a
left join ReaderBook b
on a.ReaderId=b.ReadId
left join BookInfo c
on b.BookId=c.BookId
where a.deleamark=0 and b.returnSign=0
8 create procere DropD
as
Drop Database Library

7. 求助!!图书管理系统借阅图书 sql存储过程编写 执行时出现下列问题:

你没有定义Massage这个变量! 如果我猜的没错,你是想写Message吧。你前面定义了Message这个变量作为输出变量的,估计是你写错了,求采纳!

8. SQL高手请进高分请你做3道简单的题目

问题一:要求不清晰,借书和还书这个要求不明确
问题二:
select b.books_name,c.user_name
from lease a, books b, user c
where a.books_ID=b.books_ID and a.user_ID=c.user_ID
and loan_date between '2006-07-02' and '2007-07-05'
问题三:
select b.books_name,c.user_name
from lease a, books b, user c
where a.books_ID=b.books_ID and a.user_ID=c.user_ID
and YEAR(loan_date) = '2006'

9. SQL储存问题

存储过程如下:

createprocproc_查询
@b_Cardnvarchar(18)
as
begin
selecta.b_Card,a.b_Name,a.b_Address,b.bk_Name,convert(varchar(10),c.bd_Date,120)借书日期,convert(varchar(10),c.bd_ReDate,120)还书日期
fromBorrowera,Booksb,Borrowedcwherea.b_Card=c.b_Cardandb.bk_No=c.bk_No
end

执行方法:

execproc_查询'001'

由于之前随便加过一条数据,查询后结果为:

10. 请用SQL语句完成下面设计 1创建以存储过程 pro borrow,通过输入参数学号,判断该学生是否有书未还

你这样问,没人会回答的,最少要把有哪些表列出来,表里面有哪些字段
比如是不是有 借书信息表、学生信息表 这些表里面包含哪些字段都要列出来,不然没法回答