DELIMITER ;; CREATE DEFINER=~root~@localhost’ PROCEDUREupdate book*(in book num in int. in book name in varchar(30), in book_price in float. in book state in varchar(10), in book_position in varchar(30))begin update book message set book name = book name in ,book price = book price in,book state = book state in,book_position = book_position inwhere book num = book num in; end ;; DELIMITER ;
时间: 2023-12-25 19:06:50 浏览: 69
这是一段MySQL的存储过程代码,用于更新书籍信息。存储过程名为"update_book",参数包括书籍编号、书籍名称、书籍价格、书籍状态和书籍位置。在存储过程中,使用UPDATE语句更新book_message表中符合条件的记录。DELIMITER用于设置自定义分隔符,以避免存储过程中的分号与SQL语句本身的分号冲突。
相关问题
DELIMITER ;;CREATE DEFINER=~root~@localhost” PROCEDUREextend time'(in book num in int out result varchar(5)) begin declare latetime smallint; declare result varchar(5) default 成功';declare borrow rec num in int; set borrow rec num in = (select borrow rec_num from borrows where borrow state = 还' and book num = book num in); select datediff(CURDATE() , borrow time) borrow duration into latetime from borrows where borrow rec num = borrow rec num in;if latetime > @ then set result = 超期';else update borrows set borrow duration = borrow duration + 15where borrow rec num = borrow rec num in; end if; select result; end ;;
这是一段MySQL存储过程的代码,作用是延长借阅时间。具体来说,这段代码会接受一个书籍编号(book num in),然后会在借阅记录表(borrows)中查找该书籍的借阅记录,并且该记录的状态为“已还”(borrow state = '还')。如果找到符合条件的记录,那么会计算出该记录的借阅时长(borrow duration),并且判断是否超期(latetime > @)。如果超期,那么将结果(result)设置为“超期”,否则将该记录的借阅时长增加15天,并将结果设置为“成功”。最后,返回结果(result)。其中的@是一个占位符,需要在调用存储过程时进行赋值。
CREATE DEFINER="root"@"localhost“PROCEDUREupdate manager_password'(in manager_name in varchar(20), in password in varchar(35)) begin update managers set password = password in where binary manager-name = manager_name_in; end ;; DELIMITER ;
这是一段 MySQL 存储过程的代码,用于更新管理员(managers)表中指定管理员名称(manager_name_in)的密码(password)。它使用了 DELIMITER 命令,将默认的分号(;)改为两个分号(;;),以避免存储过程中使用的分号与 SQL 语句中的分号混淆。在执行该代码前,需要先创建一个名为 managers 的表,并为其添加相应的字段。
该存储过程接受两个参数:manager_name_in(管理员名称)和 password(新密码)。它会在 managers 表中查找指定名称的管理员,并将其密码更新为新密码。最后,使用 COMMIT 命令提交更新操作。
阅读全文