创建书籍信息管理子系统,作者管理子系统,书籍管理子系统的存储过程
时间: 2023-09-27 22:12:48 浏览: 34
好的,我会分别给出三个子系统的存储过程示例。
1. 书籍信息管理子系统存储过程
-- 新增一本书籍
CREATE PROCEDURE AddBook
@BookName NVARCHAR(50),
@Author NVARCHAR(50),
@Publisher NVARCHAR(50),
@PublishDate DATE,
@Price DECIMAL(10,2)
AS
BEGIN
INSERT INTO BookInfo(BookName, Author, Publisher, PublishDate, Price)
VALUES (@BookName, @Author, @Publisher, @PublishDate, @Price)
END
-- 修改一本书籍
CREATE PROCEDURE UpdateBook
@BookID INT,
@BookName NVARCHAR(50),
@Author NVARCHAR(50),
@Publisher NVARCHAR(50),
@PublishDate DATE,
@Price DECIMAL(10,2)
AS
BEGIN
UPDATE BookInfo
SET BookName = @BookName,
Author = @Author,
Publisher = @Publisher,
PublishDate = @PublishDate,
Price = @Price
WHERE BookID = @BookID
END
-- 删除一本书籍
CREATE PROCEDURE DeleteBook
@BookID INT
AS
BEGIN
DELETE FROM BookInfo
WHERE BookID = @BookID
END
-- 查询书籍列表
CREATE PROCEDURE GetBookList
AS
BEGIN
SELECT BookID, BookName, Author, Publisher, PublishDate, Price
FROM BookInfo
END
2. 作者管理子系统存储过程
-- 新增一个作者
CREATE PROCEDURE AddAuthor
@AuthorName NVARCHAR(50),
@Gender CHAR(1),
@Birthday DATE,
@Country NVARCHAR(50)
AS
BEGIN
INSERT INTO AuthorInfo(AuthorName, Gender, Birthday, Country)
VALUES (@AuthorName, @Gender, @Birthday, @Country)
END
-- 修改一个作者
CREATE PROCEDURE UpdateAuthor
@AuthorID INT,
@AuthorName NVARCHAR(50),
@Gender CHAR(1),
@Birthday DATE,
@Country NVARCHAR(50)
AS
BEGIN
UPDATE AuthorInfo
SET AuthorName = @AuthorName,
Gender = @Gender,
Birthday = @Birthday,
Country = @Country
WHERE AuthorID = @AuthorID
END
-- 删除一个作者
CREATE PROCEDURE DeleteAuthor
@AuthorID INT
AS
BEGIN
DELETE FROM AuthorInfo
WHERE AuthorID = @AuthorID
END
-- 查询作者列表
CREATE PROCEDURE GetAuthorList
AS
BEGIN
SELECT AuthorID, AuthorName, Gender, Birthday, Country
FROM AuthorInfo
END
3. 书籍管理子系统存储过程
-- 借阅一本书籍
CREATE PROCEDURE BorrowBook
@BookID INT,
@ReaderID INT,
@BorrowDate DATE,
@ReturnDate DATE
AS
BEGIN
INSERT INTO BorrowInfo(BookID, ReaderID, BorrowDate, ReturnDate)
VALUES (@BookID, @ReaderID, @BorrowDate, @ReturnDate)
END
-- 归还一本书籍
CREATE PROCEDURE ReturnBook
@BookID INT,
@ReaderID INT,
@ReturnDate DATE
AS
BEGIN
UPDATE BorrowInfo
SET ReturnDate = @ReturnDate
WHERE BookID = @BookID AND ReaderID = @ReaderID AND ReturnDate IS NULL
END
-- 续借一本书籍
CREATE PROCEDURE RenewBook
@BookID INT,
@ReaderID INT,
@NewReturnDate DATE
AS
BEGIN
UPDATE BorrowInfo
SET ReturnDate = @NewReturnDate
WHERE BookID = @BookID AND ReaderID = @ReaderID AND ReturnDate IS NOT NULL
END
-- 查询借阅信息列表
CREATE PROCEDURE GetBorrowList
AS
BEGIN
SELECT BookID, BookName, ReaderID, ReaderName, BorrowDate, ReturnDate
FROM BorrowInfo
JOIN BookInfo ON BorrowInfo.BookID = BookInfo.BookID
JOIN ReaderInfo ON BorrowInfo.ReaderID = ReaderInfo.ReaderID
END
以上是针对三个子系统的存储过程示例,可以根据具体需求进行修改和完善。