嗨,大家好我试图在贷款期限内进行存储过程,如果图书栏填写,则会增加14天,如果视频栏已填满,则只会在我的&#39中添加7天;截止日期'列。
我让它在NOW()语句中记录我的会员ID和交易日期的情况下工作,如果它的项目编号是一本书或电影我从项目表中拉出来,我只是不确定我会怎么做做到期日。我已经玩过并做了一个案例陈述,说明我希望它如何工作,但不确定我如何将其实现到我的存储过程代码中。
存储过程:
CREATE PROCEDURE `Loan Renew`(
in Member_ID INT(11),
in `ITEM ID` INT(11))
INSERT INTO loan_table (Member_ID,item_id,book_id,Video_id,Transaction_date,Due_Date)
select Member_ID,Item_ID,Book_ID,video_id,NOW()
FROM item_table
Where `ITEM ID` =Item_table.Item_id
案例陈述:
CASE book_ID
WHEN Book_ID IS NOT NULL THEN DATE_ADD(transaction_date,INTERVAL 14 DAY)
ELSE DATE_ADD(transaction_date,INTERVAL 56 DAY)
END AS 'Due_date'
from loan_table
Where `ITEM ID` =Item_table.Item_id
答案 0 :(得分:0)
这样:
CREATE PROCEDURE `Loan Renew`(
in Member_ID INT(11),
in `ITEM ID` INT(11))
INSERT INTO loan_table (Member_ID,item_id,book_id,Video_id,Transaction_date,Due_Date)
select Member_ID,Item_ID,Book_ID,video_id,NOW(),
CASE -- book_ID
WHEN Book_ID IS NOT NULL THEN DATE_ADD(NOW(),INTERVAL 14 DAY)
ELSE DATE_ADD(NOW(),INTERVAL 56 DAY)
END
FROM item_table
Where `ITEM ID` =Item_table.Item_id