Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL SERVER存储过程库数据库最大贷款检查_Sql Server_Stored Procedures - Fatal编程技术网

Sql server SQL SERVER存储过程库数据库最大贷款检查

Sql server SQL SERVER存储过程库数据库最大贷款检查,sql-server,stored-procedures,Sql Server,Stored Procedures,我正在设计一个图书馆数据库,用户被限制在最大数量的借阅项目 我正试图编写一个程序,检查它们是否达到最大限制。 数据在两个单独的表格中: 用户 用户SID UsersMaxBooks(允许借阅的图书数量) 项目 ItemsID FK_UsersID 借出日期(这将填入今天借书的日期) LoanDataReturned(这将填入今天还书的日期) 我的程序是: 计算项目中的行数 其中FK_UsersID=@UsersID 贷款也不是空的 并且LoanDataReturned为空 (

我正在设计一个图书馆数据库,用户被限制在最大数量的借阅项目

我正试图编写一个程序,检查它们是否达到最大限制。

数据在两个单独的表格中:


用户

  • 用户SID
  • UsersMaxBooks(允许借阅的图书数量)

项目

  • ItemsID
  • FK_UsersID
  • 借出日期(这将填入今天借书的日期)
  • LoanDataReturned(这将填入今天还书的日期)

我的程序是:

  • 计算项目中的行数
  • 其中FK_UsersID=@UsersID
  • 贷款也不是空的
  • 并且LoanDataReturned为空
(这将返回用户已取出但未归还的图书数量)

  • 如果返回的行数
  • 然后向项目添加新行
    • ItemsID=@ItemsID
    • FK_UsersID=@UsersID
    • Loanadeout=今天的日期
  • 否则贷款就不可能了
有人能帮我弄清楚吗?我是一个新手,正在努力寻找一种方法,将所有这些方面结合在一个过程中。谢谢:)


现在,您可以从手机中键入,以便自己清理。

此外,您还需要在用户表中添加一个用户列,该列将具有某种现实世界中可读的字符串
CREATE PROCEDURE BorrowProcess (@user VARCHAR(255)) AS

BEGIN
    DECLARE @userid INT = (
            SELECT usersid
            FROM users
            WHERE User = @user
            );
    DECLARE @max INT = (
            SELECT usermaxbooks
            FROM users where userid = @userid
            )
    DECLARE @booksout INT = (
            SELECT count(itemsid)
            FROM items
            WHERE dateout IS NOT NULL
                AND datein IS NULL
                AND fkuserid = @userid
            );

    IF @booksout >= @max
    BEGIN
        --— google raise error
    END
    ELSE
    BEGIN
        ---— do INSERT
    END
END
GO